2012-07-05 23:14:27 -07:00
|
|
|
|
2012-09-11 17:46:20 -07:00
|
|
|
extern mod std;
|
2012-09-05 12:32:05 -07:00
|
|
|
use std::timer::sleep;
|
|
|
|
use std::uv;
|
|
|
|
use pipes::recv;
|
2012-06-29 18:15:28 -07:00
|
|
|
|
2012-08-22 18:10:48 -07:00
|
|
|
proto! oneshot (
|
2012-07-05 23:14:27 -07:00
|
|
|
waiting:send {
|
2012-07-17 17:03:27 -07:00
|
|
|
signal -> !
|
2012-06-29 18:15:28 -07:00
|
|
|
}
|
2012-08-22 18:10:48 -07:00
|
|
|
)
|
2012-06-29 18:15:28 -07:00
|
|
|
|
|
|
|
fn main() {
|
2012-09-07 18:08:21 -07:00
|
|
|
use oneshot::client::*;
|
2012-06-29 18:15:28 -07:00
|
|
|
|
2012-09-18 22:45:24 -07:00
|
|
|
let c = pipes::spawn_service(oneshot::init, |p| { recv(move p); });
|
2012-06-29 18:15:28 -07:00
|
|
|
|
|
|
|
let iotask = uv::global_loop::get();
|
2012-07-17 17:03:27 -07:00
|
|
|
sleep(iotask, 500);
|
2012-06-29 18:15:28 -07:00
|
|
|
|
2012-09-18 22:45:24 -07:00
|
|
|
signal(move c);
|
2012-06-29 18:15:28 -07:00
|
|
|
}
|