[ Obsolete | Reference Manual | Alphabetic Index ]

schedule_woken(++SuspList)

Pass the suspension list SuspList to the waking scheduler.
SuspList
Suspension list or difference list or variable

This built-in predicate is obsolete!

Description

Suspensions in ECLiPSe are executed in two stages: first the suspension is processed by the waking scheduler which puts it into a global priority list where it waits until the wake/0 predicate is called by a predicate which is running with lower priority than the priority of the suspension. The predicate schedule_woken/1 is the interface to the waking scheduler. It accepts a list or a difference list of suspensions. Executed suspensions are ignored, sleeping suspensions are inserted into the corresponding priority list.

Modes and Determinism

Exceptions

(5) type error
SuspList is not a list nor a difference list nor free.

Examples

[eclipse 1]: make_suspension(writeln(hello), 1, S),
             schedule_woken([S]), wake.
hello

S = 'WOKEN GOAL'
yes.
[eclipse 2]: make_suspension(writeln(hello), 255, S),
             schedule_woken([S]), wake.

S = 'GOAL'(writeln(hello), eclipse)

Delayed goals:
writeln(hello)
yes.



See Also

schedule_suspensions / 2, insert_suspension / 3, insert_suspension / 4, is_suspension / 1, suspension_to_goal / 3, wake / 0