[ Event Handling | The ECLiPSe Built-In Predicates | Reference Manual | Alphabetic Index ]
cancel_after_event(+Event, -CancelledEvents)
Cancel all pending instances of after event Event
- Event
- Atom or Handle
- CancelledEvents
- Variable
Description
All instances of the pending after event Event is
cancelled so that the event will not be triggered. A pending after event
is an event which is setup by either event_after/2, event_after/3 or
event_after_every/2, and which is waiting to be raised
(event_after_every/2 will always be pending as it is raised repeatedly).
CancelledEvents is the list of after events that have been cancelled.
Each element of CancelledEvents is of the form of an event specified
in Events of events_after / 1. As a result, CancelledEvents can be
reposted using events_after(CancelledEvents). If there was no event
to cancel, CancelledEvents will be bound to the empty list.
Note that the processing of an already raised, but as yet unprocessed
event will not be cancelled by this predicate.
Resatisfiable
No.
Exceptions
- (5) type error
- Event is not an atom.
Examples
setup :-
set_event_handler(hi, hi/0),
event_after_every(hi, 3.2).
hi :-
writeln(hi).
kill :-
cancel_after_event(hi, CancelledEvents),
( CancelledEvents = [_|_] ->
writeln('event cancelled':CancelledEvents)
;
writeln('no event to cancel')
).
See Also
event_after / 2, event_after / 3, event_after_every / 2, event / 1, set_event_handler / 2, current_after_events / 1, event_create / 2, event_retrieve / 2