diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2014-07-23 22:49:19 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2014-07-30 07:06:44 -0700 |
| commit | 355c798ac3eba15bb2d53a6c553c6149391f9615 (patch) | |
| tree | 7426185c4107170da393d78489638b505b7994cb /src/rustllvm/ExecutionEngineWrapper.cpp | |
| parent | e156d001c6577593295f6eee417ea8758fbc4a84 (diff) | |
| download | rust-355c798ac3eba15bb2d53a6c553c6149391f9615.tar.gz rust-355c798ac3eba15bb2d53a6c553c6149391f9615.zip | |
native: Don't deadlock the runtime on spawn failure
Previously, the call to bookkeeping::increment() was never paired with a decrement when the spawn failed (due to unwinding). This fixes the problem by returning a "bomb" from increment() which will decrement on drop, and then moving the bomb into the child task's procedure which will be dropped naturally.
Diffstat (limited to 'src/rustllvm/ExecutionEngineWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
