We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 0dfa141 commit 9393131Copy full SHA for 9393131
src/rt/rust_task.cpp
@@ -278,6 +278,10 @@ rust_task::yield(size_t time_in_us) {
278
unblock();
279
fail();
280
}
281
+
282
+ // FIXME: If we are blocked, and get killed right here then we may never
283
+ // know it.
284
285
yield_timer.reset_us(time_in_us);
286
287
// Return to the scheduler.
@@ -468,8 +472,11 @@ rust_task::die() {
468
472
469
473
void
470
474
rust_task::unblock() {
471
- if (blocked())
475
+ if (blocked()) {
476
+ // FIXME: What if another thread unblocks the task between when
477
+ // we checked and here?
478
wakeup(cond);
479
+ }
480
481
482
rust_crate_cache *
0 commit comments