Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WASIX #3422

Merged
merged 560 commits into from
Feb 23, 2023
Merged

WASIX #3422

merged 560 commits into from
Feb 23, 2023
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Jan 3, 2023

  1. Configuration menu
    Copy the full SHA
    1dad3dd View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2023

  1. Configuration menu
    Copy the full SHA
    2589031 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0562a2b View commit details
    Browse the repository at this point in the history

Commits on Jan 6, 2023

  1. Configuration menu
    Copy the full SHA
    663e97c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5d2767d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    82696df View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2023

  1. Configuration menu
    Copy the full SHA
    a6da4ec View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2023

  1. Configuration menu
    Copy the full SHA
    4509546 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    91549d3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1d0c9d9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    fe2fd24 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    df30d25 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    30b0207 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    a6a0d65 View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2023

  1. Configuration menu
    Copy the full SHA
    466082e View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2023

  1. wasix: Reuse same runtime in PluggableRuntimeImplementation

    Prevent creating a new tokio runtime all the time
    theduke committed Jan 10, 2023
    Configuration menu
    Copy the full SHA
    a5ccc44 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d34ce88 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e2af53f View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2023

  1. Configuration menu
    Copy the full SHA
    5776afc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a143bb3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    505d2a3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1bb960f View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2023

  1. Configuration menu
    Copy the full SHA
    703ef66 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a0ede7c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0feb0a5 View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2023

  1. Configuration menu
    Copy the full SHA
    b4de67b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8ca8db8 View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2023

  1. Fixed a major bug where the polling loop with a zero time was returni…

    …ng an event when it should not have been, causing an infiinte loop
    john-sharratt committed Jan 14, 2023
    Configuration menu
    Copy the full SHA
    3ebf3be View commit details
    Browse the repository at this point in the history
  2. cargo fmt

    john-sharratt committed Jan 14, 2023
    Configuration menu
    Copy the full SHA
    10b4d44 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c4727eb View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2023

  1. Configuration menu
    Copy the full SHA
    ba9f2f6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0804f13 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5760749 View commit details
    Browse the repository at this point in the history
  4. Apply feedback from @theduke

    Michael-F-Bryan authored and theduke committed Jan 16, 2023
    Configuration menu
    Copy the full SHA
    c5dbfb6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    bc18e5d View commit details
    Browse the repository at this point in the history
  6. chore: Remove unused import

    theduke committed Jan 16, 2023
    Configuration menu
    Copy the full SHA
    394cf83 View commit details
    Browse the repository at this point in the history
  7. fix: Fix missing field in enum binding (JS target)

    Was introduced by recent refactoring
    theduke committed Jan 16, 2023
    Configuration menu
    Copy the full SHA
    701704a View commit details
    Browse the repository at this point in the history
  8. Implement Debug for BusSpawnedProcessJoin

    Because everything should have a Debug impl...
    theduke committed Jan 16, 2023
    Configuration menu
    Copy the full SHA
    5e7517f View commit details
    Browse the repository at this point in the history
  9. fix: wasix http client: properly forward response headers

    Resolves the TODO, and really needed to be done...
    theduke committed Jan 16, 2023
    2 Configuration menu
    Copy the full SHA
    ed15165 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    7e1e9fa View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2023

  1. Wasi bindings generator: derive Hash for Signal,Snapshot0Clockid

    Because the manual implementation causes clippy warnings
    theduke committed Jan 17, 2023
    Configuration menu
    Copy the full SHA
    8ce631a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    07b428d View commit details
    Browse the repository at this point in the history
  3. chore: Remove unused import

    theduke committed Jan 17, 2023
    Configuration menu
    Copy the full SHA
    374e8b0 View commit details
    Browse the repository at this point in the history
  4. deps: Update tokio due to CVE

    Tokio 1.23 has a CVE, so update to 1.24
    theduke committed Jan 17, 2023
    Configuration menu
    Copy the full SHA
    433a91a View commit details
    Browse the repository at this point in the history
  5. build: Clarify ring dependency license in deny.toml

    License can't be auto-detected, so it needs a manual clarification.
    theduke committed Jan 17, 2023
    Configuration menu
    Copy the full SHA
    26c41d3 View commit details
    Browse the repository at this point in the history
  6. build: Fix feature flags for vfs crate in Makefile test

    Crate doesn't have any of the compiler features...
    theduke committed Jan 17, 2023
    Configuration menu
    Copy the full SHA
    9e85fc8 View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2023

  1. Configuration menu
    Copy the full SHA
    30ec91d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    27d020d View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2023

  1. Fix for the read ready event on local networking which was missing ev…

    …ents on new connections in certain race conditions
    john-sharratt committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    67a1a89 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1a0a1e5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    91762ce View commit details
    Browse the repository at this point in the history
  4. Restore changes from master

    Align with master on two changes which were probably accidentally
    screwed up during a merge or rebase.
    theduke committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    902670a View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2023

  1. Configuration menu
    Copy the full SHA
    d9f1018 View commit details
    Browse the repository at this point in the history
  2. feat: Implement WASIX ControlPlane Thread Limits

    This commit adds a total task (aka thread) limit for a WasiControlPlane.
    
    The limit is configured at startup, and is checked whenever a new
    process or a new thread is created.
    
    The major breaking change is that the new_process and new_thread methods
    are now fallible and return an error.
    
    Also adds two tests that validate the limits are repsected.
    
    Along with this feature the commit also does some cleanup and reafactoring:
    
    * Simplify WasiControlPlane
    
    It was using multiple Arcs with locks and atomics with no real justification.
    The state is only locked for very short periods, so the complicated
    setup doesn't yield any benefits.
    
    The mutable state is consolidated behind a single RwLock, which holds the
    process id seed and the process map, and the whole type is behind a
    single Arc.
    
    The reservations are removed, since they are not really useful if the
    state is only locked for very short periods.
    
    Also adds todo notes for handling pid exhaustion and process de-registration.
    
    * TaskJoinHandle
    
    Adds a new TaskJoinHandle handle that is used by both processes and threads
    to track termination.
    
    Replaces a complex, cryptic type.
    
    * Simplify Thread state and make it private
    
    Make internal thread state private to better encapsulate the code.
    Also restructures the type to be behind a single Arc instead of multiple
    redundant Arcs.
    
    NOTE: should also be done for WasiProcess
    theduke committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    e970704 View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2023

  1. tests: Add a commented out test for fd_mmap memory

    Adds a test for the custom memory computation that is currently
    commented out.
    
    Mostly here for testing purposes, should be removed again.
    theduke committed Jan 23, 2023
    Configuration menu
    Copy the full SHA
    a9e972c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d1bae19 View commit details
    Browse the repository at this point in the history

Commits on Jan 24, 2023

  1. chore: Fix Typo in Error Message

    Co-authored-by: Syrus Akbary <[email protected]>
    theduke and syrusakbary committed Jan 24, 2023
    Configuration menu
    Copy the full SHA
    a139f71 View commit details
    Browse the repository at this point in the history
  2. Add an empty wasmer-sys-utils crate

    This crate will hold utility functionality that doesn't fit well
    anywhere else.
    theduke committed Jan 24, 2023
    Configuration menu
    Copy the full SHA
    fe37060 View commit details
    Browse the repository at this point in the history
  3. refactor: Move fd_memory from wasi to sys-utils crate

    It is primarily used by Deploy and doesn't really belong in wasi.
    theduke committed Jan 24, 2023
    Configuration menu
    Copy the full SHA
    f925724 View commit details
    Browse the repository at this point in the history
  4. Delete unused host_ws.rs file, and move to sys-utils

    Deletes a tokio + tungstenite based Websocket implementation in the wasi
    crate.
    
    The file wasn't even included in the module tree.
    
    The code is moved to the wasmer-sys-utils crate, but commented out at
    the moment.
    
    Should probably just be removed.
    theduke committed Jan 24, 2023
    Configuration menu
    Copy the full SHA
    8259512 View commit details
    Browse the repository at this point in the history
  5. Move WasiThreadError to os::task::thread submodule

    It fits better there!
    theduke committed Jan 24, 2023
    Configuration menu
    Copy the full SHA
    a155340 View commit details
    Browse the repository at this point in the history
  6. wasi: Move DummyWaker to utils and add comments

    Move the WasiDummyWaker to the utils module, since it doesn't really
    belong in the state module.
    
    Also adds a comment explaining what it does.
    theduke committed Jan 24, 2023
    Configuration menu
    Copy the full SHA
    9aa6a07 View commit details
    Browse the repository at this point in the history
  7. chore: Update comment to reflect implementation changes

    Because an outdated comment is the worst kind of comment.
    theduke committed Jan 24, 2023
    Configuration menu
    Copy the full SHA
    f5cfb59 View commit details
    Browse the repository at this point in the history

Commits on Jan 25, 2023

  1. tests: Move fd_mmap_memory test to sys-utils crate

    fd_mmap_memory was moved there previously
    theduke committed Jan 25, 2023
    Configuration menu
    Copy the full SHA
    43653bc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1f43832 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5cf768d View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2023

  1. Configuration menu
    Copy the full SHA
    42f58d0 View commit details
    Browse the repository at this point in the history

Commits on Jan 30, 2023

  1. Configuration menu
    Copy the full SHA
    28620c8 View commit details
    Browse the repository at this point in the history
  2. chore: Fix a whole bunch of clippy lints

    Mostly just cosmetic stuff.
    
    On non-trivial change: changed WasiPipe to have a wrapper subtype for
    the reader, which includes the channel and the buffer.
    theduke committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    b05d77d View commit details
    Browse the repository at this point in the history
  3. fix: Remove unsoundess in local networking buffers

    Previously buffers were constructed with Vec::with_capacity and
    Vec::set_len, which creates unitialized memory.
    
    The buffers were then passed along outside of the unsafe context.
    
    This is unsound.
    
    Ideally we would do something more fancy with MaybeUninit, but just
    creating the buffer with zeroed out memory is enough for now.
    theduke committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    7d1a742 View commit details
    Browse the repository at this point in the history
  4. chore: Fix clippy lints

    theduke committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    6660c57 View commit details
    Browse the repository at this point in the history
  5. wasi: Fix some dependency issues for JS builds

    Enable tokio runtime feature for tests, remove some definitions that are
    not defined on js, ...
    theduke committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    33eb586 View commit details
    Browse the repository at this point in the history
  6. fix: Add missing import

    Always required now , not just when the compiler feature is on.
    theduke committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    932cd78 View commit details
    Browse the repository at this point in the history
  7. tests: Exclude wasix_http_client from main test run

    Only intended for wasm32- targets
    theduke committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    9c792c6 View commit details
    Browse the repository at this point in the history
  8. tests: Comment out fd memory tests

    (not working properly at the moment)
    theduke committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    8d573b3 View commit details
    Browse the repository at this point in the history
  9. build: Enable tokio time feature for wasi sys builds

    Was usually enabled ephemerally.
    theduke committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    1f3d003 View commit details
    Browse the repository at this point in the history
  10. fix: Upgrade c-api to use new WasiPipe implementation

    Need to use WasiBidirectionalPipePair to allow accessing the stdout/stderr.
    theduke committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    ffefa23 View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2023

  1. Configuration menu
    Copy the full SHA
    a3cda99 View commit details
    Browse the repository at this point in the history
  2. fix: Initialize WASI env in CLI

    Initialization is required, but was apparently removed from the CLI run
    code previously.
    theduke committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    3134c26 View commit details
    Browse the repository at this point in the history
  3. Delete unused C file (rebase left-over)

    File is an artifact of a big rebase, not needed any longer.
    theduke committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    50dd727 View commit details
    Browse the repository at this point in the history
  4. chore: Remove unused help file

    Was previously used in the SSH shell.
    theduke committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    64732b0 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    460576e View commit details
    Browse the repository at this point in the history
  6. Change buf size hint to a const and add documentation

    Define a const for the poll_write_ready buffer size hint, and add some
    explanation about the chosen number.
    theduke committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    1406c37 View commit details
    Browse the repository at this point in the history
  7. Virtual Host FS: Sort readdir() result by path

    Was previously sorted by modification time, which is not terribly
    deterministic and problematic to sort on in tests.
    theduke committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    f40c2f8 View commit details
    Browse the repository at this point in the history
  8. tests: Fix incorrect test assertion for fs metadata

    The accessed time can/will change after a rename, which is correct
    behaviour.
    This wasn't accounted for in the test.
    theduke committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    5c358e6 View commit details
    Browse the repository at this point in the history
  9. Use custom types for Stdio (Stdout/In) types

    a) much more readable this way
    b) silences clippy
    theduke committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    1d7530d View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2023

  1. Fixes for excessive memory allocations

    - Removed the need to clone WasiEnv whenever signals are processed
    - Modified the poll_oneoff syscall so that it works with polls rather than Boxed futures
    - Removed the mpsc channel in poll_oneoff
    john-sharratt committed Feb 3, 2023
    Configuration menu
    Copy the full SHA
    95b2fe9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c3a1834 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    cbffb79 View commit details
    Browse the repository at this point in the history
  4. Async runtime memory and performance improvments

    - WasiImplementation now returns a refernce to the tokio runtime
    - block_on no longer needs sync or send
    - Removed the mpsc channels which are no longer needed
    john-sharratt committed Feb 3, 2023
    Configuration menu
    Copy the full SHA
    97445c4 View commit details
    Browse the repository at this point in the history
  5. wasix: Remove websocket support

    Removes the websocket support from wasix.
    
    Websockets are a high level concept.
    They should not be integrated so deeply into the core of wasix.
    
    For client connections, we will want to add support for websocket
    clients into the custom wasix_http_client bindings.
    
    For servers, the support should go into the custom wcgi server bindings.
    theduke committed Feb 3, 2023
    Configuration menu
    Copy the full SHA
    62026e4 View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2023

  1. Many performance and memory optimizations

    - Avoiding a memory copy on all socket reads and writes using a new `copy_from_slice` instead
    - File openers no longer box the implementation avoiding a memory allocation on all file access
    - Polling sockets rather than using an async function which significantly reduces locking contention and removes an box operation
    - Futex now uses wakers rather than broadcasts which makes them more efficient and durable
    - Converted many async functions into sync functions in vnet
    - Sleeping no longer allocates memory
    - Avoiding a number of WasiEnv clones which was impacting performance and memory efficiency
    john-sharratt committed Feb 4, 2023
    Configuration menu
    Copy the full SHA
    9bc44d4 View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2023

  1. Configuration menu
    Copy the full SHA
    21237eb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7f8c085 View commit details
    Browse the repository at this point in the history
  3. Many performance and memory optimizations

    - Avoiding a memory copy on all socket reads and writes using a new `copy_from_slice` instead
    - File openers no longer box the implementation avoiding a memory allocation on all file access
    - Polling sockets rather than using an async function which significantly reduces locking contention and removes an box operation
    - Futex now uses wakers rather than broadcasts which makes them more efficient and durable
    - Converted many async functions into sync functions in vnet
    - Sleeping no longer allocates memory
    - Avoiding a number of WasiEnv clones which was impacting performance and memory efficiency
    john-sharratt authored and theduke committed Feb 7, 2023
    Configuration menu
    Copy the full SHA
    26d4a6a View commit details
    Browse the repository at this point in the history
  4. wasi: Rename WasiStateBuilder to WasiEnvBuilder

    Preparation for removing the two-step construction with WasiState and
    WasiEnv
    theduke committed Feb 7, 2023
    Configuration menu
    Copy the full SHA
    9813ba9 View commit details
    Browse the repository at this point in the history
  5. wasi: Merge the vbus crate into wasi as a vbus submodule

    The crate provides an abstraction layer that we currently don't yet need
    or want.
    
    The vbus types are used quite a bit in other consumers, but follow ups
    should remove a lot of the Vbus type/abstractions.
    
    They can always be added back later.
    theduke committed Feb 7, 2023
    Configuration menu
    Copy the full SHA
    5593340 View commit details
    Browse the repository at this point in the history
  6. wasi: Remove vbus Result alias

    type Result<_, MyError> aliases add lots of confusion to code, best to
    just strip it out.
    theduke committed Feb 7, 2023
    Configuration menu
    Copy the full SHA
    fa3e08a View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2023

  1. Improve WasiBuilder API

    First step in improving the wasi module construction flow.
    Lots of steps to follow.
    theduke committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    956ad28 View commit details
    Browse the repository at this point in the history
  2. wasi: Remove state from BinFactory

    The WasiState was only stored on the BinFactory for one small
    functionality, accessing the file system.
    This is much easier handled by passing in the relevant filesystem to the
    get_binary function.
    
    Achieves a much more sensible separation of state.
    theduke committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    29f7273 View commit details
    Browse the repository at this point in the history
  3. Add VirtualTaskManager::build_memory() and remove module/memory from …

    …task_wasm
    
    Simplifies module construction
    theduke committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    38dda36 View commit details
    Browse the repository at this point in the history
  4. wasix: Strip out the VBus abstraction

    VirtualBus was intended for remote spawning and calling, but it is not
    used at the moment and is also too high level to be included.
    
    This strips out most of the vbus related abstractions, and only keeps
    the handle used for instance termination.
    theduke committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    a112bea View commit details
    Browse the repository at this point in the history
  5. wasi: Partial unification of instance spawning

    Introduces a new WasiEnvInit type that should hold all information
    required for initializing an instance.
    
    An instance can then be created with WasiEnv::instantiate().
    This method takes care of all the required setup steps to properly run a
    wasi(X) module.
    theduke committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    8b0d1fc View commit details
    Browse the repository at this point in the history
  6. wasi: WasiRuntimeError summary error + wasi func run function helpers

    Adds a new WasiRuntimeError that represents all errors possible during
    wasi invokations.
    
    Also adds new run_wasi_func / run_wasi_func_start helpers that catch the
    wasi exit code.
    theduke committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    7932b28 View commit details
    Browse the repository at this point in the history
  7. wasix: Rework VirtualTaskManager integration

    * Remove the WasiRuntimeImplementation::new_task_manager() method
    
    This was a big API footgun - the task manager must always be available for
    wasix to work, so it should always be present.
    
    * Remove task manager from WasiEnv
    
    The env already stores the runtime, which now has an accessor for the task manager
    theduke committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    355d9d7 View commit details
    Browse the repository at this point in the history
  8. docs(wasi): Add FIXME s to various removed syscalls

    Only stub impls right now.
    Should be deleted once we know no wasm modules are importing it.
    theduke committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    8b313d6 View commit details
    Browse the repository at this point in the history
  9. refactor(wasi): Rename WasiRuntimeImplementation to WasiRuntime

    Because ... should be obvious why!
    theduke committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    3dbdee7 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    6936708 View commit details
    Browse the repository at this point in the history
  11. Make WasiRuntime::networking accessor return a ref

    Helps to prevent redundant clones.
    theduke committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    b6a57b5 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    bd58c08 View commit details
    Browse the repository at this point in the history
  13. refactor(wasi): Make WasiState private

    Makes the WasiState type private, and replaces it's usage with WasiEnv
    where needed.
    
    WasiState is a complex type with many implementation details, it should
    not be public.
    theduke committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    ff4ccf5 View commit details
    Browse the repository at this point in the history
  14. fix: Enable wasi/sys-thread feature for c api

    Because we are using Tokio and Tokio is our only tested async implementation.
    theduke committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    c01b8b1 View commit details
    Browse the repository at this point in the history
  15. chore: Re-order WasiRuntime functions and add TODOs for removal

    Orders all tty/stdio related functions to the bottom.
    Also adds TODO removal comments to all of them, because the do not
    belong on this trait.
    theduke committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    c0bde87 View commit details
    Browse the repository at this point in the history
  16. chore: Remove unused WasiRuntime::log method

    Not used since we switched to tracing.
    theduke committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    b97bcde View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    fe75ef0 View commit details
    Browse the repository at this point in the history
  18. build: Remove compiler-specific features from wasi crate

    For historic reasons the wasi crate had features to toggle between the
    different Wasmer compilers.
    
    This is not needed anymore.
    theduke committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    0819c9a View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    a1eaa0f View commit details
    Browse the repository at this point in the history
  20. chore: Make Wasifs::is_wasix private and add removal TODO

    Increases encapsulation.
    See added comments for why it should be removed.
    theduke committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    6ea7e53 View commit details
    Browse the repository at this point in the history
  21. wasi: Remove Clone impls from WasiVFork and WasiEnv

    These types hold internal state and can/should not just be cloned.
    The only code doing clones is in thread / process spawning/forking.
    
    These can use the new custom duplicate() method instead.
    theduke committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    ba815bd View commit details
    Browse the repository at this point in the history
  22. wasi: Refactor TTY System

    * Remove all the STDIO related methods from the WasiRuntime trait
    
    * Remove the special-cased Stdio VirtualFile types that where needed due to
      the above WasiRuntime trait integration
    
    * Replace the WasiRuntime::{get,set}_tty methods with a dedicated optional
      TtyBridge trait
    
    * Update the Console to always require a full WasiBidirectionalPipePair
      which is used for stdio
    theduke committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    082715a View commit details
    Browse the repository at this point in the history
  23. build: Enable sys-thread feature for wasi dep in c-api

    It's required at the moment to do anything useful with WASI(X)
    theduke committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    ab99b2c View commit details
    Browse the repository at this point in the history

Commits on Feb 9, 2023

  1. wasi: Add WasiPipe::new() constructor

    A single pipe is sufficient for many contexts, no need to use WasiBidirectionalPipePair
    everywhere.
    theduke committed Feb 9, 2023
    Configuration menu
    Copy the full SHA
    8f97dab View commit details
    Browse the repository at this point in the history
  2. wasi: Small WasiEnv cleanup

    * Make process optional in WasiEnvInit
    * Remove some deprecated functions
    theduke committed Feb 9, 2023
    Configuration menu
    Copy the full SHA
    39fe9b7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b169061 View commit details
    Browse the repository at this point in the history
  4. fix: Update c-api to wasi changes

    Some builder changes etc
    theduke committed Feb 9, 2023
    Configuration menu
    Copy the full SHA
    633e18f View commit details
    Browse the repository at this point in the history
  5. fix: Fix c-api webc_runner feature

    Needed wasi updates
    theduke committed Feb 9, 2023
    Configuration menu
    Copy the full SHA
    c323919 View commit details
    Browse the repository at this point in the history
  6. chore: Fix clippy lints

    theduke committed Feb 9, 2023
    Configuration menu
    Copy the full SHA
    6be6561 View commit details
    Browse the repository at this point in the history
  7. chore: Fix more clippy lints

    theduke committed Feb 9, 2023
    Configuration menu
    Copy the full SHA
    4f9eab5 View commit details
    Browse the repository at this point in the history
  8. Rename WasiEnvBuilder::build_func_env back to finalize

    Reduce API breakage.
    theduke committed Feb 9, 2023
    Configuration menu
    Copy the full SHA
    7e6a33d View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    27cb987 View commit details
    Browse the repository at this point in the history
  10. tests: Enable cranelfit feature for tests in wasmer-wasi

    Required to compile wasm files
    theduke committed Feb 9, 2023
    Configuration menu
    Copy the full SHA
    45e26c6 View commit details
    Browse the repository at this point in the history
  11. wasi: Introduce shared tokio task manager and respect current tokio env

    Adds a global shared TokioTaskManager that is used by default by
    PluggableRuntimeImplementation.
    
    Also uses the local tokio runtime if executing in an async context.
    
    Tokio runtimes are heavy, only one should be running per process.
    This way we keep a simple API and prevent misuse.
    theduke committed Feb 9, 2023
    Configuration menu
    Copy the full SHA
    c4b6c05 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    d7780fa View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2023

  1. fix: Gate the fd_memory module to Linux targets

    This memory implementation only works on Linux.
    theduke committed Feb 10, 2023
    Configuration menu
    Copy the full SHA
    6b6ae4d View commit details
    Browse the repository at this point in the history
  2. chore: Fix some clippy lints

    theduke committed Feb 10, 2023
    Configuration menu
    Copy the full SHA
    7f78799 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    12a7de9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    15fdd65 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    96f6d7c View commit details
    Browse the repository at this point in the history
  6. chore: Fix clippy lints

    theduke committed Feb 10, 2023
    Configuration menu
    Copy the full SHA
    02245ce View commit details
    Browse the repository at this point in the history
  7. tests(wasi): Remove some manual tests that are covered by snapshot tests

    Found in the CLI integration test suite
    theduke committed Feb 10, 2023
    Configuration menu
    Copy the full SHA
    9f600bf View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    ba7cb88 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    68f0f6d View commit details
    Browse the repository at this point in the history
  10. wasi: Add VirtualFile::close and close all fds on WasiFs cleanup

    * Adds a new VirtualFile::poll_close method for closing a file.
    * Adds a VirtualFileClose future and a VirtualFileExt::close() method
      for  more convenient async closing
    * Updates WasiFs to call close() for all fds on cleanup
    
    NOTE: this is a WIP implementation of closing, the only VirtualFile
    implementor that was updated is WasiPipe.
    theduke committed Feb 10, 2023
    Configuration menu
    Copy the full SHA
    f88d368 View commit details
    Browse the repository at this point in the history
  11. wasi: Fix up the wasi examples

    Needed updating to the new wasi implementation.
    theduke committed Feb 10, 2023
    Configuration menu
    Copy the full SHA
    9d86596 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    b1a080d View commit details
    Browse the repository at this point in the history
  13. chore: Fix clippy lints

    theduke committed Feb 10, 2023
    Configuration menu
    Copy the full SHA
    70d880e View commit details
    Browse the repository at this point in the history
  14. wasi: Replace custom VirtualFile::write with tokio::AsyncWrite::shutdown

    No need to duplicate the functionality...
    theduke committed Feb 10, 2023
    Configuration menu
    Copy the full SHA
    cca51c0 View commit details
    Browse the repository at this point in the history
  15. Made test-stage-0-wast test to use only 1 thread (to avoid potential …

    …issues with host_fs::path_rename)
    ptitSeb committed Feb 10, 2023
    Configuration menu
    Copy the full SHA
    f77b61c View commit details
    Browse the repository at this point in the history
  16. fix: Do not purge reader when closing a WasiPipe

    Only tearing down the writer is enough.
    The previous implementaiton would prevent users from reading the
    remaining content in a pipe after closure.
    theduke committed Feb 10, 2023
    Configuration menu
    Copy the full SHA
    825628f View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    0a96ec8 View commit details
    Browse the repository at this point in the history
  18. tests: Fix some tests

    Needed updates for wasix refactoring.
    theduke committed Feb 10, 2023
    Configuration menu
    Copy the full SHA
    613cd1f View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    715920e View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    318b06c View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    6b9130b View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    78537ad View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    70e5b15 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    01b6e57 View commit details
    Browse the repository at this point in the history
  25. tests: Update snapshots

    theduke committed Feb 10, 2023
    Configuration menu
    Copy the full SHA
    1782958 View commit details
    Browse the repository at this point in the history
  26. fix(wasi): Revert making WasiEnv::cleanup async

    It SHOULD be async, but doing that with the current WasiFs
    implementation is a world of hurt and not feasible, since it leads to
    all kinds of issues regarding async runtime behaviour.
    
    For now we just manually invoke poll_shutdown a single time
    theduke committed Feb 10, 2023
    Configuration menu
    Copy the full SHA
    de419df View commit details
    Browse the repository at this point in the history
  27. wasi: Improve global tokio runtime detection in TokioTaskManager

    Make sure to not create a new runtime if in an async context already.
    theduke committed Feb 10, 2023
    Configuration menu
    Copy the full SHA
    0b6c07a View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    715f71d View commit details
    Browse the repository at this point in the history
  29. build: Add cargo-insta to flake.nix

    cargo-insta is used for some snapshot tests in tests/integration/cli
    theduke committed Feb 10, 2023
    Configuration menu
    Copy the full SHA
    7ab0568 View commit details
    Browse the repository at this point in the history
  30. refactor: Rename WasiPipe to Pipe and WasiBidirectionalPipePair to Bi…

    …diPipe
    
    The vfs is not directly tied to WASI, so naming it after wasi makes no
    sense.
    theduke committed Feb 10, 2023
    Configuration menu
    Copy the full SHA
    2cfe241 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    a33802e View commit details
    Browse the repository at this point in the history

Commits on Feb 14, 2023

  1. fix(wasi): Get the JS implementation to build (somewhat hackily)

    Makes various fixes to get wasi JS to build.
    
    Has some nasty workarounds that need to be removed in the future.
    theduke committed Feb 14, 2023
    Configuration menu
    Copy the full SHA
    60850bd View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2023

  1. Many bug fixes and performance optimizations

    - Removed generation_arena which was causing some serious leakages of files and sockets
    - Added OsError for NetworkErrors so that "Too Many Open Files" is properly passed
    - Local networking will now cap at 10 sockets in the backlog
    - Added the missing shutdown error code
    - Removed the inodes lock around most of the WASI syscalls
    - Fixed some race conditions in the event notifications for WASI
    - The polling loop will now only notify a closed socket once
    - Event notifications now uses Wakers rather than MPSC
    - Some socket errors now return the right codes which prevents panics in WASM
    - Fixed a bug where the file read and write guards might release the file before the lock
    - The inode seed is now much safer preventing overlaps
    - The fd seed is now much safer preventing overlaps
    - Closing files is now implicit rather than explicit reducing possibliities for error
    - Forking of file descriptors is now much simplier
    - Polling events will now be returned in random order to prevent some race conditions
    - Removed a number of memory allocations which were wasting memory and performance
    - Sockets now only copy the send and recv data once rather than multiple times
    john-sharratt committed Feb 15, 2023
    Configuration menu
    Copy the full SHA
    c12a60f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7d86ef5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    cc83041 View commit details
    Browse the repository at this point in the history
  4. cli: Add a --net flag to run command for enabling networking

    WASIX networking will now only be enabled if the --net flag is provided.
    Otherwise it would break the Wasmer sandboxing promise.
    
    In the future we should add more advanced networking config.
    (like only allow certain ports, limit dns domains, limit ip ranges, etc )
    theduke committed Feb 15, 2023
    Configuration menu
    Copy the full SHA
    93a0cd6 View commit details
    Browse the repository at this point in the history
  5. build: Remove useless host-fs feature from vnet crate

    It's not used and doesn't make sense.
    Probably an artifact of copying the vfs crate...
    theduke committed Feb 15, 2023
    Configuration menu
    Copy the full SHA
    e385a01 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    7437024 View commit details
    Browse the repository at this point in the history
  7. Make LocalNetworking internals private and add ::new()

    Since LocalNetworking was an empty struct, it could have been
    constructed by anyone , which would lead to a breaking change if we need
    to add any fields.
    
    This commit adds a private stub field to prevent that.
    Also adds a LocalNetworking::new() constructor
    theduke committed Feb 15, 2023
    Configuration menu
    Copy the full SHA
    da1361f View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    247de6f View commit details
    Browse the repository at this point in the history
  9. build(c-api): Enable more feature on the wasi dependency

    Needed for things to work properly
    theduke committed Feb 15, 2023
    Configuration menu
    Copy the full SHA
    e46c2e6 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    dc05bd1 View commit details
    Browse the repository at this point in the history
  11. chore: Remove all WASIX bus and event related syscalls + types

    The implementations were previously already replaced with stub impls.
    After ensuring that the current wasix modules don't actually import the
    syscalls, we can now safely remove all the plumbing, including:
    
    * syscalls
    * types
    theduke committed Feb 15, 2023
    Configuration menu
    Copy the full SHA
    506da0b View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    4db0dd0 View commit details
    Browse the repository at this point in the history
  13. c-api: Restore wasi_env_set_memory function

    Not supported anymore, but better to have it panic instead of just
    breaking the API by removing it.
    theduke committed Feb 15, 2023
    Configuration menu
    Copy the full SHA
    30dc848 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    4473be1 View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2023

  1. Configuration menu
    Copy the full SHA
    4f117a6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e82fc87 View commit details
    Browse the repository at this point in the history
  3. Moved the OwnedRwReadLock and OwnedRwWriteLock implementation(s) into…

    … a privata mod and added some extra protection against race conditions
    john-sharratt committed Feb 16, 2023
    Configuration menu
    Copy the full SHA
    31c6eca View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    81bae8f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    cbcae65 View commit details
    Browse the repository at this point in the history
  6. chore: Fix clippy lints

    theduke committed Feb 16, 2023
    Configuration menu
    Copy the full SHA
    b15d028 View commit details
    Browse the repository at this point in the history
  7. chore: Fix clippy lints

    theduke committed Feb 16, 2023
    Configuration menu
    Copy the full SHA
    a7cd600 View commit details
    Browse the repository at this point in the history
  8. fix: Add missing import in c_api

    Was forgotten during restoring a function from master.
    theduke committed Feb 16, 2023
    Configuration menu
    Copy the full SHA
    f0dbbc7 View commit details
    Browse the repository at this point in the history
  9. build: Add binaryen and wabt to flake devshell

    Because they are needed for building the tests
    theduke committed Feb 16, 2023
    Configuration menu
    Copy the full SHA
    dab4327 View commit details
    Browse the repository at this point in the history
  10. chore: Remove invalid FIXME comments

    The syscalls are still used, the comments were added in error.
    theduke committed Feb 16, 2023
    Configuration menu
    Copy the full SHA
    30f7bdf View commit details
    Browse the repository at this point in the history
  11. Remove libc dependency from vnet again

    libc was added as a dependency to vnet for error mapping.
    
    This breaks JS targets.
    
    Removed the dependency, and removed the mapping functions.
    Will be added again in the wasi crate.
    theduke committed Feb 16, 2023
    Configuration menu
    Copy the full SHA
    76a2996 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    384af9a View commit details
    Browse the repository at this point in the history
  13. wasi: Add OS to vnet error mapping

    Add mapping functions that were previously removed from vnet
    theduke committed Feb 16, 2023
    Configuration menu
    Copy the full SHA
    61bd7bd View commit details
    Browse the repository at this point in the history
  14. chore: Formatting...

    theduke committed Feb 16, 2023
    Configuration menu
    Copy the full SHA
    5e290b5 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    4cb2d74 View commit details
    Browse the repository at this point in the history
  16. wasi: Return the actual error from WasiEnvBuilder::run/run_with_module

    Fixes a refactoring left-over that discarded the actual result.
    theduke committed Feb 16, 2023
    Configuration menu
    Copy the full SHA
    b6f3ebc View commit details
    Browse the repository at this point in the history
  17. wasi: Remove WasiPipe::channel to prevent misuse

    The WasiPipe::channel() function is a leftover from a previous
    implementation.
    
    It pipes data through two different Pipes, which doesn't actually make
    any sense in most circumstances.
    
    Best to remove the function.
    
    Users should just use Pipe::new(), or DuplexPipe::new().
    theduke committed Feb 16, 2023
    Configuration menu
    Copy the full SHA
    3e43325 View commit details
    Browse the repository at this point in the history
  18. wasi: Rename BidiPipe to DuplexPipe and add helper methods

    * Rename BidiPipe to DuplexPipe, because the name is better
    * Make the fields private: gives us more flexibility in the future
    * Add a split() method and accessors for send and receive
    theduke committed Feb 16, 2023
    Configuration menu
    Copy the full SHA
    195ea89 View commit details
    Browse the repository at this point in the history
  19. wasi: Remove StubTaskManager

    Removes the StubTaskManager implementation.
    A WASI(X) module requires a VirtualTaskManager implementation to do
    anything useful.
    
    Having this implmementation doesn't make sense anymore, it only invites
    misuse.
    theduke committed Feb 16, 2023
    Configuration menu
    Copy the full SHA
    25128a4 View commit details
    Browse the repository at this point in the history
  20. VFS cleanuup: remove redundant dependencies and feature flags

    * Remove all dependencies to Wasmer crates (previously used for really
      trivial type definitions)
    * Remove feature flags that make no sense anymore:
      - js/sys from wasmer
      - std/core - nostd support was intended at some point, but isn't implement
    theduke committed Feb 16, 2023
    Configuration menu
    Copy the full SHA
    8074253 View commit details
    Browse the repository at this point in the history
  21. deps: Remove unused dependency from vnet

    Probably some copy-pasta leftover.
    theduke committed Feb 16, 2023
    Configuration menu
    Copy the full SHA
    6d4a41a View commit details
    Browse the repository at this point in the history
  22. fix: Fix OS error mapping on Windows

    Needed to adjust #[cfg()]s to only use libc on unix targets.
    theduke committed Feb 16, 2023
    Configuration menu
    Copy the full SHA
    1c84918 View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2023

  1. Configuration menu
    Copy the full SHA
    6ffdc95 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    61ab210 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4b8bb01 View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2023

  1. Configuration menu
    Copy the full SHA
    c010866 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6a087bd View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    017592d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d8c5736 View commit details
    Browse the repository at this point in the history
  5. Added a standard file that allows for writes to be intercepted - used…

    … by the runtime debugging in Deploy
    john-sharratt committed Feb 20, 2023
    Configuration menu
    Copy the full SHA
    9a5dd9f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    439dd4f View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    5b54b81 View commit details
    Browse the repository at this point in the history
  8. refactor: Rename DuelWriteFile to DualWriteFile

    Just fixing a typo...
    theduke committed Feb 20, 2023
    Configuration menu
    Copy the full SHA
    5799efc View commit details
    Browse the repository at this point in the history
  9. chore: Fix clippy lints

    theduke committed Feb 20, 2023
    Configuration menu
    Copy the full SHA
    c319a84 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    f6aeddb View commit details
    Browse the repository at this point in the history
  11. tests: Fix stdin handling in wasi-wast tests

    Previously the stdin pipe woulnd't be closed properly, leading to the
    pipe_rename test failing.
    theduke committed Feb 20, 2023
    Configuration menu
    Copy the full SHA
    7968cf4 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    697f218 View commit details
    Browse the repository at this point in the history
  13. chore: Formatting...

    theduke committed Feb 20, 2023
    Configuration menu
    Copy the full SHA
    0533ca7 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    a78d577 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    0112cd6 View commit details
    Browse the repository at this point in the history
  16. fix: make Pipe::new() private and replace usage

    Pipe::new() easily leads to dangling pipes due to lack of close on drop
    of the sender.
    theduke committed Feb 20, 2023
    Configuration menu
    Copy the full SHA
    244c5f6 View commit details
    Browse the repository at this point in the history
  17. Remove Pipe::default()

    Pipe::new() was previously also removed.
    Use Pipe::channel() instead
    theduke committed Feb 20, 2023
    Configuration menu
    Copy the full SHA
    a328f32 View commit details
    Browse the repository at this point in the history
  18. chore: Remove owned mutex doc tests

    Can write doc tests for private submodule...
    theduke committed Feb 20, 2023
    Configuration menu
    Copy the full SHA
    0c6c27e View commit details
    Browse the repository at this point in the history
  19. tests: Slightly improve error message for get_wasmer_path

    For easier debugging...
    theduke committed Feb 20, 2023
    Configuration menu
    Copy the full SHA
    09f8af3 View commit details
    Browse the repository at this point in the history
  20. tests: Fix wasi examples

    Fixes some incorrect usage of stdin/stdout pipes.
    theduke committed Feb 20, 2023
    Configuration menu
    Copy the full SHA
    669fbbd View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2023

  1. Configuration menu
    Copy the full SHA
    b42cd59 View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2023

  1. wasi: Env cleanup now at least flushes all file handles

    Prevents issues with data not being sent / written before shutdown.
    theduke committed Feb 22, 2023
    Configuration menu
    Copy the full SHA
    d471742 View commit details
    Browse the repository at this point in the history
  2. c-api: wasi_env_delete now cleans up the WasiEnv state

    Needed for proper cleanup of state.
    theduke committed Feb 22, 2023
    Configuration menu
    Copy the full SHA
    34c5bfe View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    af746cf View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4d0460e View commit details
    Browse the repository at this point in the history
  5. examples: Add a wasi_manual_setup example

    To show the manual setup flow.
    theduke committed Feb 22, 2023
    Configuration menu
    Copy the full SHA
    af24e33 View commit details
    Browse the repository at this point in the history
  6. Improve WasiEnv::cleanup(): close uniquely held file handles

    Make the cleanup close all uniquely held file handles.
    
    All non-uniquely held ones will still be flushed.
    theduke committed Feb 22, 2023
    Configuration menu
    Copy the full SHA
    7018bd4 View commit details
    Browse the repository at this point in the history
  7. chore: Formatting

    theduke committed Feb 22, 2023
    Configuration menu
    Copy the full SHA
    7ed3288 View commit details
    Browse the repository at this point in the history
  8. examples: Add some additional debug output to wasi example

    Improves the output when running the example.
    theduke committed Feb 22, 2023
    Configuration menu
    Copy the full SHA
    4fd6a01 View commit details
    Browse the repository at this point in the history
  9. tests: Update snapshot tests

    theduke committed Feb 22, 2023
    Configuration menu
    Copy the full SHA
    355a145 View commit details
    Browse the repository at this point in the history
  10. wasi: Remove the hardcoded default boot from Console

    The Console previously had a hardcoded boot webc package with a specific
    dash package published on the Wasmer registry.
    
    This level of hardcoding is not desireable.
    
    The boot package now has to be specified as an argument in the
    constructor.
    theduke committed Feb 22, 2023
    Configuration menu
    Copy the full SHA
    675a7c2 View commit details
    Browse the repository at this point in the history
  11. tests: Disable a few flaky snapshot tests

    The disabled ones use threading and have non-deterministic output.
    theduke committed Feb 22, 2023
    Configuration menu
    Copy the full SHA
    1b6f443 View commit details
    Browse the repository at this point in the history
  12. Rename SpecialFile to DeviceFile

    Because some people don't like anything special in their code base...
    theduke committed Feb 22, 2023
    Configuration menu
    Copy the full SHA
    16e92ff View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    134d2f6 View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2023

  1. Ensure WasiEnv cleanup in CLI

    theduke committed Feb 23, 2023
    Configuration menu
    Copy the full SHA
    df6434f View commit details
    Browse the repository at this point in the history
  2. tests: Skip stdin_stdout_sterr snapshot test on Windows/Mac

    Hangs forever on those platforms
    theduke committed Feb 23, 2023
    Configuration menu
    Copy the full SHA
    fc4d38f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6ac7a2d View commit details
    Browse the repository at this point in the history
  4. tests: Ignore the sleep snapshot test on non-linux

    Hangs indefinitely
    theduke committed Feb 23, 2023
    Configuration menu
    Copy the full SHA
    74f2d18 View commit details
    Browse the repository at this point in the history
  5. [CREATE-EXE] Link with Security framework when cross-compiling on mac…

    …OS (and the framework definition is embedded in create-exe)
    ptitSeb committed Feb 23, 2023
    Configuration menu
    Copy the full SHA
    5cf54b4 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b88966c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    265d9f6 View commit details
    Browse the repository at this point in the history
  8. chore: Formatting

    theduke committed Feb 23, 2023
    Configuration menu
    Copy the full SHA
    7779e2e View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    8c2aad2 View commit details
    Browse the repository at this point in the history
  10. deps(wasi): Activate tokio time feature

    This would previously already be pulled in automatically by
    dependencies, but needs to be manually enabled for JS builds
    theduke committed Feb 23, 2023
    Configuration menu
    Copy the full SHA
    0a422d8 View commit details
    Browse the repository at this point in the history
  11. HACK: Disable 3 create-exe integration tests

    Just for the WASIX merge.
    
    Must be fixed and re-enabled.
    
    See #3615
    theduke committed Feb 23, 2023
    Configuration menu
    Copy the full SHA
    b9c7b81 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    99b43d6 View commit details
    Browse the repository at this point in the history