global awake = function() { print("I'm awake!"); }; global waking = function() { print("I am stirring..."); }; global resting = function() { print("I am resting"); sig = block("wakeup"); if (sig == "wakeup") { stateSetExitFunction( waking ); stateSet( awake ); } }; global init_func = function() { // set state on thread stateSet( resting ); }; thread( init_func ); sleep(1); signal("wakeup");