diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2013-11-07 15:13:06 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2013-11-10 01:37:11 -0800 |
| commit | df4c0b8e4349d50f317553de5a47d0cd56cdc227 (patch) | |
| tree | 470f0312c30becfa07aca3284a200c6d912e876b /src/rt/rust_uv.cpp | |
| parent | 5e6bbc6bfa82f3ad0a014df24b40cbc042f24035 (diff) | |
| download | rust-df4c0b8e4349d50f317553de5a47d0cd56cdc227.tar.gz rust-df4c0b8e4349d50f317553de5a47d0cd56cdc227.zip | |
Make the uv bindings resilient to linked failure
In the ideal world, uv I/O could be canceled safely at any time. In reality, however, we are unable to do this. Right now linked failure is fairly flaky as implemented in the runtime, making it very difficult to test whether the linked failure mechanisms inside of the uv bindings are ready for this kind of interaction. Right now, all constructors will execute in a task::unkillable block, and all homing I/O operations will prevent linked failure in the duration of the homing operation. What this means is that tasks which perform I/O are still susceptible to linked failure, but the I/O operations themselves will never get interrupted. Instead, the linked failure will be received at the edge of the I/O operation.
Diffstat (limited to 'src/rt/rust_uv.cpp')
0 files changed, 0 insertions, 0 deletions
