// signalEvent.ck : signaling events Event e; // declare an event fun int hi( Event e ) { // declare function <<< "OK, now what?" >>>; e => now; // wait on event e <<<"success">>>; // only happens AFTER e is signaled } spork ~ hi( e ); // spork shred with e 1.0 :: second => now; // advance time e.signal(); // signal e // e.broadcast(); // use this if multiple shreds waiting/listening 1.0 :: samp => now; // hang around just one samp longer