rust/src/libnative/io
Alex Crichton 9668ab58f3 std: Move libnative task count bookkeeping to std
When using tasks in Rust, the expectation is that the runtime does not exit
before all tasks have exited. This is enforced in libgreen through the
`SchedPool` type, and it is enforced in libnative through a `bookkeeping` module
and a global count/mutex pair. Unfortunately, this means that a process which
originates with libgreen will not wait for spawned native tasks.

In order to fix this problem, the bookkeeping module was moved from libnative to
libstd so the runtime itself can wait for native tasks to exit. Green tasks do
not manage themselves through this bookkeeping module, but native tasks will
continue to manage themselves through this module.

Closes #12684
2014-03-05 21:48:08 -08:00
..
addrinfo.rs native: be more const correct with the FFI calls. 2014-02-24 01:15:39 +11:00
file_unix.rs native: Stop using readdir() 2014-03-05 09:11:10 -08:00
file_win32.rs rustc: Use libnative for the compiler 2014-02-27 12:03:58 -08:00
mod.rs native: Recognize EISDIR 2014-02-27 12:03:58 -08:00
net.rs native: Improve windows file handling 2014-02-27 12:03:57 -08:00
pipe_unix.rs native: Improve windows file handling 2014-02-27 12:03:57 -08:00
pipe_win32.rs std: Move intrinsics to std::intrinsics. 2014-02-23 01:07:53 -08:00
process.rs std: Avoid using "{:?}" in format strings 2014-02-28 12:24:50 -08:00
timer_helper.rs std: Move libnative task count bookkeeping to std 2014-03-05 21:48:08 -08:00
timer_other.rs native: Move from usleep() to nanosleep() 2014-03-05 09:11:10 -08:00
timer_timerfd.rs native: Move from usleep() to nanosleep() 2014-03-05 09:11:10 -08:00
timer_win32.rs Fixing remaining warnings and errors throughout 2014-02-03 10:39:23 -08:00