
trigger(+Trigger)

   Wake the suspensions associated with the symbolic trigger Trigger
until there are no more left.



Arguments
   Trigger             An atom.

Type
   Advanced Control and Suspensions

Description
   Suspensions in ECLiPSe go through several stages: They are created,
   attached to variables or symbolic triggers, later scheduled for execution,
   and finally executed.


   The task of trigger/1 is to take suspensions from the global suspension
   list associated to the symbolic name Trigger and wake them.  The
   suspensions are inserted into a global priority list, according to
   their individual priority, and then executed. Trigger/1 includes a
   call to wake/0 and is actually defined as
   
       trigger(Trigger) :-
	   schedule_suspensions(Trigger),
	   wake.
   

   If no suspensions are associated to Trigger, trigger/1
   just succeeds and does nothing.




Fail Conditions
   Fails if a woken goal fails

Examples
   
[eclipse 1]: suspend(writeln(world), 2, trigger(hello)), trigger(hello).
world
yes.






See Also
   demon / 1, attach_suspensions / 2, make_suspension / 3, suspend / 3
