states_03.gm 413 B

12345678910111213141516171819202122232425262728293031
  1. global awake = function()
  2. {
  3. print("I'm awake!");
  4. };
  5. global waking = function()
  6. {
  7. print("I am stirring...");
  8. };
  9. global resting = function()
  10. {
  11. print("I am resting");
  12. sig = block("wakeup");
  13. if (sig == "wakeup")
  14. {
  15. stateSetExitFunction( waking );
  16. stateSet( awake );
  17. }
  18. };
  19. global init_func = function()
  20. {
  21. // set state on thread
  22. stateSet( resting );
  23. };
  24. thread( init_func );
  25. sleep(1);
  26. signal("wakeup");