[ ECLiPSe Control built-in.|Group Index| Full Index]

kill_suspension(+Susp)

Kill the suspended goal represented by Susp, i.e. treat it as if it had been woken.

+Susp
A suspension or variable.

Description

The suspended goal represented by Susp is killed, and the suspension is marked as now representing a woken goal. If the suspension was already marked as woken, kill_suspension/1 just succeeds. If called with a variable, it succeeds as well which is useful when writing demon predicates that might not have a suspension the first time they are invoked.

Note that a suspension is not a standard Prolog data structure and can only be manipulated in a restricted way.

Fail Conditions

None.

Resatisfiable

No.

Exceptions

(5) Type error
Susp is not a suspension.

Examples


[eclipse 1]: make_suspension(writeln(hello), S),
        kill_suspension(S),
        call_suspension(S).     % no effect

S = 'WOKEN GOAL'
yes.


See Also

demon / 1, make_suspension / 3, suspension_to_goal / 3, attach_suspensions / 2, insert_suspension / 3, insert_suspension / 4