Schedule function holds a reference to RawTask (#12)
* Schedule function holds a reference
* Rename DROP_D to DROP_T
* Don't rely on valgrind to catch errors
diff --git a/tests/waker_pending.rs b/tests/waker_pending.rs
index 11c6bfa..d2c939b 100644
--- a/tests/waker_pending.rs
+++ b/tests/waker_pending.rs
@@ -127,7 +127,7 @@
fn wake_during_run() {
future!(f, waker, POLL, DROP_F);
schedule!(s, chan, SCHEDULE, DROP_S);
- task!(task, _handle, f, s, DROP_D);
+ task!(task, _handle, f, s, DROP_T);
task.run();
let w = waker();
@@ -141,7 +141,7 @@
assert_eq!(SCHEDULE.load(), 2);
assert_eq!(DROP_F.load(), 0);
assert_eq!(DROP_S.load(), 0);
- assert_eq!(DROP_D.load(), 0);
+ assert_eq!(DROP_T.load(), 0);
assert_eq!(chan.len(), 1);
});
@@ -152,7 +152,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 0);
assert_eq!(DROP_S.load(), 0);
- assert_eq!(DROP_D.load(), 0);
+ assert_eq!(DROP_T.load(), 0);
assert_eq!(chan.len(), 0);
thread::sleep(ms(200));
@@ -161,7 +161,7 @@
assert_eq!(SCHEDULE.load(), 2);
assert_eq!(DROP_F.load(), 0);
assert_eq!(DROP_S.load(), 0);
- assert_eq!(DROP_D.load(), 0);
+ assert_eq!(DROP_T.load(), 0);
assert_eq!(chan.len(), 1);
})
.unwrap();
@@ -174,7 +174,7 @@
fn cancel_during_run() {
future!(f, waker, POLL, DROP_F);
schedule!(s, chan, SCHEDULE, DROP_S);
- task!(task, handle, f, s, DROP_D);
+ task!(task, handle, f, s, DROP_T);
task.run();
let w = waker();
@@ -189,7 +189,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 1);
assert_eq!(DROP_S.load(), 1);
- assert_eq!(DROP_D.load(), 1);
+ assert_eq!(DROP_T.load(), 1);
assert_eq!(chan.len(), 0);
});
@@ -200,7 +200,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 0);
assert_eq!(DROP_S.load(), 0);
- assert_eq!(DROP_D.load(), 0);
+ assert_eq!(DROP_T.load(), 0);
assert_eq!(chan.len(), 0);
drop(handle);
@@ -208,7 +208,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 0);
assert_eq!(DROP_S.load(), 0);
- assert_eq!(DROP_D.load(), 0);
+ assert_eq!(DROP_T.load(), 0);
assert_eq!(chan.len(), 0);
thread::sleep(ms(200));
@@ -217,7 +217,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 1);
assert_eq!(DROP_S.load(), 1);
- assert_eq!(DROP_D.load(), 1);
+ assert_eq!(DROP_T.load(), 1);
assert_eq!(chan.len(), 0);
})
.unwrap();
@@ -227,7 +227,7 @@
fn wake_and_cancel_during_run() {
future!(f, waker, POLL, DROP_F);
schedule!(s, chan, SCHEDULE, DROP_S);
- task!(task, handle, f, s, DROP_D);
+ task!(task, handle, f, s, DROP_T);
task.run();
let w = waker();
@@ -242,7 +242,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 1);
assert_eq!(DROP_S.load(), 1);
- assert_eq!(DROP_D.load(), 1);
+ assert_eq!(DROP_T.load(), 1);
assert_eq!(chan.len(), 0);
});
@@ -253,7 +253,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 0);
assert_eq!(DROP_S.load(), 0);
- assert_eq!(DROP_D.load(), 0);
+ assert_eq!(DROP_T.load(), 0);
assert_eq!(chan.len(), 0);
handle.cancel();
@@ -261,7 +261,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 0);
assert_eq!(DROP_S.load(), 0);
- assert_eq!(DROP_D.load(), 0);
+ assert_eq!(DROP_T.load(), 0);
assert_eq!(chan.len(), 0);
drop(handle);
@@ -269,7 +269,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 0);
assert_eq!(DROP_S.load(), 0);
- assert_eq!(DROP_D.load(), 0);
+ assert_eq!(DROP_T.load(), 0);
assert_eq!(chan.len(), 0);
thread::sleep(ms(200));
@@ -278,7 +278,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 1);
assert_eq!(DROP_S.load(), 1);
- assert_eq!(DROP_D.load(), 1);
+ assert_eq!(DROP_T.load(), 1);
assert_eq!(chan.len(), 0);
})
.unwrap();
@@ -288,7 +288,7 @@
fn cancel_and_wake_during_run() {
future!(f, waker, POLL, DROP_F);
schedule!(s, chan, SCHEDULE, DROP_S);
- task!(task, handle, f, s, DROP_D);
+ task!(task, handle, f, s, DROP_T);
task.run();
let w = waker();
@@ -303,7 +303,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 1);
assert_eq!(DROP_S.load(), 1);
- assert_eq!(DROP_D.load(), 1);
+ assert_eq!(DROP_T.load(), 1);
assert_eq!(chan.len(), 0);
});
@@ -314,7 +314,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 0);
assert_eq!(DROP_S.load(), 0);
- assert_eq!(DROP_D.load(), 0);
+ assert_eq!(DROP_T.load(), 0);
assert_eq!(chan.len(), 0);
drop(handle);
@@ -322,7 +322,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 0);
assert_eq!(DROP_S.load(), 0);
- assert_eq!(DROP_D.load(), 0);
+ assert_eq!(DROP_T.load(), 0);
assert_eq!(chan.len(), 0);
w.wake();
@@ -330,7 +330,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 0);
assert_eq!(DROP_S.load(), 0);
- assert_eq!(DROP_D.load(), 0);
+ assert_eq!(DROP_T.load(), 0);
assert_eq!(chan.len(), 0);
thread::sleep(ms(200));
@@ -339,7 +339,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 1);
assert_eq!(DROP_S.load(), 1);
- assert_eq!(DROP_D.load(), 1);
+ assert_eq!(DROP_T.load(), 1);
assert_eq!(chan.len(), 0);
})
.unwrap();
@@ -349,7 +349,7 @@
fn drop_last_waker() {
future!(f, waker, POLL, DROP_F);
schedule!(s, chan, SCHEDULE, DROP_S);
- task!(task, handle, f, s, DROP_D);
+ task!(task, handle, f, s, DROP_T);
task.run();
let w = waker();
@@ -359,7 +359,7 @@
assert_eq!(SCHEDULE.load(), 0);
assert_eq!(DROP_F.load(), 0);
assert_eq!(DROP_S.load(), 0);
- assert_eq!(DROP_D.load(), 0);
+ assert_eq!(DROP_T.load(), 0);
assert_eq!(chan.len(), 0);
drop(w);
@@ -367,7 +367,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 0);
assert_eq!(DROP_S.load(), 0);
- assert_eq!(DROP_D.load(), 0);
+ assert_eq!(DROP_T.load(), 0);
assert_eq!(chan.len(), 1);
chan.recv().unwrap().run();
@@ -375,7 +375,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 1);
assert_eq!(DROP_S.load(), 1);
- assert_eq!(DROP_D.load(), 1);
+ assert_eq!(DROP_T.load(), 1);
assert_eq!(chan.len(), 0);
}
@@ -383,7 +383,7 @@
fn cancel_last_handle() {
future!(f, waker, POLL, DROP_F);
schedule!(s, chan, SCHEDULE, DROP_S);
- task!(task, handle, f, s, DROP_D);
+ task!(task, handle, f, s, DROP_T);
task.run();
drop(waker());
@@ -391,7 +391,7 @@
assert_eq!(SCHEDULE.load(), 0);
assert_eq!(DROP_F.load(), 0);
assert_eq!(DROP_S.load(), 0);
- assert_eq!(DROP_D.load(), 0);
+ assert_eq!(DROP_T.load(), 0);
assert_eq!(chan.len(), 0);
handle.cancel();
@@ -399,7 +399,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 0);
assert_eq!(DROP_S.load(), 0);
- assert_eq!(DROP_D.load(), 0);
+ assert_eq!(DROP_T.load(), 0);
assert_eq!(chan.len(), 1);
chan.recv().unwrap().run();
@@ -407,7 +407,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 1);
assert_eq!(DROP_S.load(), 0);
- assert_eq!(DROP_D.load(), 0);
+ assert_eq!(DROP_T.load(), 0);
assert_eq!(chan.len(), 0);
drop(handle);
@@ -415,7 +415,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 1);
assert_eq!(DROP_S.load(), 1);
- assert_eq!(DROP_D.load(), 1);
+ assert_eq!(DROP_T.load(), 1);
assert_eq!(chan.len(), 0);
}
@@ -423,7 +423,7 @@
fn drop_last_handle() {
future!(f, waker, POLL, DROP_F);
schedule!(s, chan, SCHEDULE, DROP_S);
- task!(task, handle, f, s, DROP_D);
+ task!(task, handle, f, s, DROP_T);
task.run();
drop(waker());
@@ -431,7 +431,7 @@
assert_eq!(SCHEDULE.load(), 0);
assert_eq!(DROP_F.load(), 0);
assert_eq!(DROP_S.load(), 0);
- assert_eq!(DROP_D.load(), 0);
+ assert_eq!(DROP_T.load(), 0);
assert_eq!(chan.len(), 0);
drop(handle);
@@ -439,7 +439,7 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 0);
assert_eq!(DROP_S.load(), 0);
- assert_eq!(DROP_D.load(), 0);
+ assert_eq!(DROP_T.load(), 0);
assert_eq!(chan.len(), 1);
chan.recv().unwrap().run();
@@ -447,6 +447,6 @@
assert_eq!(SCHEDULE.load(), 1);
assert_eq!(DROP_F.load(), 1);
assert_eq!(DROP_S.load(), 1);
- assert_eq!(DROP_D.load(), 1);
+ assert_eq!(DROP_T.load(), 1);
assert_eq!(chan.len(), 0);
}