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

current_suspension(-Susp)

Susp is a live (sleeping or scheduled) suspension.

-Susp
A variable.

Description

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

current_suspension/1 nondeterministically enumerates all current suspensions. They may be either sleeping or already scheduled for execution. It does not return any dead suspensions.

Note: Please do not use this predicate if you need all suspensions. Use suspensions/1 instead.

Fail Conditions

None.

Resatisfiable

Yes.

Exceptions

Examples


    [eclipse 3]: suspend(writeln(a),3,X->inst),
                 suspend(writeln(b),5,Y->inst),
                 current_suspension(S).

    X = X
    Y = Y
    S = 'GOAL'(writeln(b), eclipse)

    Delayed goals:
            writeln(a)
            writeln(b)     More? (;) 

    X = X
    Y = Y
    S = 'GOAL'(writeln(a), eclipse)

    Delayed goals:
            writeln(a)
            writeln(b)     More? (;) 

    no (more) solution.


See Also

delayed_goals / 1, make_suspension / 3, kill_suspension / 1, schedule_suspensions / 1, schedule_suspensions / 2, suspend / 3, suspend / 4, suspensions / 1, suspension_to_goal / 3