We don't want this impl anymore, because the user should be forced to
supply the virtual task manager manually so they are cognizent of the
fact they WASIX is running on an async runtime.
-- Fixed some linting issues on the "--" argument fix of the wasmer command
- Fixed the unit tests for dash and bash subprocesses
- Fixed the order of the flushing of files so that processes are notified of exit only after the open file handles are flushed
- Added a step that explictily flushes the stdout and stderr on cleanup of an exited process
* A new TaskStatus is introduced that specifies the current state of a task
(usually a process or thread)
* Status tracking is refactored to use tokio::sync::watch instead of a
homegrown solution which combined channels and mutexes
* The task status now not just tracks an exit code, but also the ocurred error
This helps consumers of the task status to know that and error
ocurred, and which one, which helps debugging / logging and potential
recovery
* Remove the unused VBUS crate leftover types and traits
Almost all gone, except for the VirtualBusError
* Move SignalHandlerAbi types to os::signal
Implements support for wasix_http_client_v1 using wai generated bindings.
Uses the generated bindings to provide the relevant syscalls to Wasi
guest modules.
Also adds http capability settings to WasiEnv, which control the http
permissions for an instance.
Due to WAI bindings needing to run initialization functions on the
instance, this also refactors instance creation.
The import_object_for_all_wasi_versions() method is now private.
A new build_wasi_instance() is to be used instead.
- Fixed an issue with tokio missing io-util on JS builds
- Fixed an issue where duplicate stdio file descriptors was not preserving the is_stdio flag
- Added a text file that describes a suite of integration tests for WASIX
- Added compiled WASIX programs used for testing purposes
- Implemented multi-threading for both JS and SYS, plus other WASIX implementations
- Added a longjmp capability required for bash and other WASIX implementations
- Added real signals to WASIX
- Added a stack unwinding and winding functionality
- Implemented memory forking which will be used for process forking
- Added the ability to fork the current process
- Added the vfork functionality
- Moved over to the WasiPipe implementation
- Added more syscalls needed for bash on WASIX
- Ported wasmer-os into wasmer
- Added a union file system and the character devices
- Moved the cursors to the file handles rather than the file so that they are multithread safe and can handle concurrent IO
- Reimplemented the poll_oneoff functionality to support full ASYNC
- Added support for mapping directories in the host file system into WASIX sandbox file systems
- Implemented fully ASYNC sockets and emulated ASYNC files
- Made the file locks more granular to allow for concurrent poll and accept operations
- Fixed a race condition on the event notifications