diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2014-03-05 10:35:30 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2014-03-05 21:48:08 -0800 |
| commit | 9668ab58f338b27d8f53357c7fd4ea3d3f06305e (patch) | |
| tree | a51174739f9ed9c1910d9676a29a818d49a15009 /src/rustllvm/ExecutionEngineWrapper.cpp | |
| parent | e6acff828787b9b6c65ef66942f45e58b2f22ad6 (diff) | |
| download | rust-9668ab58f338b27d8f53357c7fd4ea3d3f06305e.tar.gz rust-9668ab58f338b27d8f53357c7fd4ea3d3f06305e.zip | |
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
Diffstat (limited to 'src/rustllvm/ExecutionEngineWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
