[ Event Handling | The ECLiPSe Built-In Predicates | Reference Manual | Alphabetic Index ]
events_after(+Events)
Set up a series of after events Events.
- +Events
- A list of the form Event-Time or Event-every(Time)
Description
Events is a list of after events where each element of the list
specifies one after event. Each element is either in the form of
EventName-Time or EventName-every(Time) where the first form is
equivalent to event_after(EventName, Time) and the second to
event_after_every(EventName, Time). The difference between using
a single events_after/1 and multiple calls to event_after/2,
event_after/3 and event_after_every/2 to set up a series of after
events is that with events_after/1, all the events are set up as a
unit, and it is guaranteed that the relative orderings between the
events are preserved, and that no after events will be raised until all the
specified events have been setup.
See event_after/2, event_after/3 or event_after_every/2 for more details on after
events.
Fail Conditions
None.
Resatisfiable
No.
Exceptions
- (4) instantiation fault
- Events is not instantiated.
- (5) type error
- Events is not a list of after events of the form Event-Time or Event-every(Time), where Event is an atom or a handle and Time is a positive (non-breal) number.
Examples
% set event handlers to write the event name
[eclipse 1]: set_event_handler(e1, writeln/1), set_event_handler(e2, writeln/1).
Yes (0.00s cpu)
[eclipse 2]: events_after([e1-every(0.2),e2-0.5]), repeat,fail.
e1
e1
e2
e1
e1
^C
interruption: type a, b, c, e, or h for help : ? e1
abort
Aborting execution ...
% default real-time timer used, e1 is raised
Abort[eclipse 3]: cancel_after_event(e1, _).
e1
Yes (0.00s cpu)
% e2 is not a repeated event, so this fails...
[eclipse 4]: cancel_after_event(e2, _).
No (0.00s cpu)
[eclipse 5]:
See Also
event_after / 2, event_after / 3, event_after_every / 2, cancel_after_event / 2, events_after / 1, event / 1, set_event_handler / 2, current_after_events / 1, event_create / 2, event_retrieve / 2, get_flag / 2