* Rewrite FdEntry reusing as much libstd as possible
* Use the new FdEntry, FdObject, Descriptor struct in *nix impl
* Adapt Windows impl
* Remove unnecessary check in fd_read
Check `host_nread == 0` caused premature FdEntry closure and removal
which ultimately was resulting in an attempt at "double closing" of
the same file descriptor at the end of the Wasm program:
...
fd_close(fd=4)
-> errno=WASI_ESUCCESS
fd_close(fd=4)
-> errno=WASI_EBADF
* Use libstd vectored IO
* Use std:🧵:yield_now to implement sched_yield
* Add logging to integration tests
* Add preliminary support for host-specific errors
* Operate on std::fs::File in path_get on *nix
* Add cross-platform RawString type encapsulating OsStrExt
* Fix Windows build
* Update Travis and README to Rust v1.36
* Remove unused winx::handle::close helper
* Refactor Descriptor into raw handles/fds
* Strip readlinkat in prep for path_get host-independent
* Strip openat in prep for path_get host-independent
* Move ManuallyDrop up one level from Descriptor to FdObject
* Make (c)iovec host fns unsafe
* Swap unwraps/expects for Results in fdentry_impl on nix
* Rewrite fd_pread/write and implement for Win
* Use File::sync_all to impl fd_sync
* Use File::sync_data to impl fd_datasync
* Rewind file cursor after fd_p{read, write} on Windows
* Add fd_p{read, write} tests
* Handle errors instead of panicking in path_get
* Use File::set_len to impl fd_allocate
* Add test for fd_allocate
* Replace all panics with Results
* Document the point of RawString
52 lines
1.3 KiB
TOML
52 lines
1.3 KiB
TOML
[package]
|
|
name = "wasi-common"
|
|
version = "0.1.0"
|
|
authors = [
|
|
"Adam C. Foltzer <acfoltzer@fastly.com>",
|
|
"Frank Denis <github@pureftpd.org>",
|
|
"Jakub Konka <kubkon@jakubkonka.com>",
|
|
"Dan Gohman <sunfish@mozilla.com>"]
|
|
edition = "2018"
|
|
license = "Apache-2.0 WITH LLVM-exception"
|
|
|
|
[dependencies]
|
|
wasi-common-cbindgen = { path = "wasi-common-cbindgen" }
|
|
failure = "0.1"
|
|
libc = "0.2"
|
|
rand = "0.6"
|
|
cfg-if = "0.1.9"
|
|
log = "0.4"
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
nix = "0.13"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
winx = { path = "winx" }
|
|
winapi = "0.3"
|
|
|
|
[dev-dependencies]
|
|
wasmtime-runtime = { git = "https://github.com/cranestation/wasmtime" }
|
|
wasmtime-environ = { git = "https://github.com/cranestation/wasmtime" }
|
|
wasmtime-jit = { git = "https://github.com/cranestation/wasmtime" }
|
|
wasmtime-wasi = { git = "https://github.com/cranestation/wasmtime" }
|
|
cranelift-codegen = "0.33.0"
|
|
cranelift-entity = "0.33.0"
|
|
cranelift-wasm = "0.33.0"
|
|
cranelift-native = "0.33.0"
|
|
target-lexicon = "0.3.0"
|
|
pretty_env_logger = "0.3.0"
|
|
|
|
[patch."https://github.com/CraneStation/wasi-common"]
|
|
wasi-common = { path = "." }
|
|
|
|
[build-dependencies]
|
|
cfg-if = "0.1.9"
|
|
|
|
[lib]
|
|
name = "wasi_common"
|
|
crate-type = ["rlib", "staticlib", "cdylib"]
|
|
|
|
[workspace]
|
|
members = ["wasi-common-cbindgen"]
|
|
exclude = ["winx"]
|