Warning: This is the manual of the legacy Guile 2.0 series. You may want to read the manual of the current stable series instead.

Next: , Previous: , Up: SRFI-18   [Contents][Index]


7.5.15.3 SRFI-18 Condition variables

SRFI-18 does not specify a “wait” function for condition variables. Waiting on a condition variable can be simulated using the SRFI-18 mutex-unlock! function described in the previous section, or Guile’s built-in wait-condition-variable procedure can be used.

Function: condition-variable? obj

Returns #t if obj is a condition variable, #f otherwise. This is the same procedure as the same-named built-in procedure (see condition-variable?).

Function: make-condition-variable [name]

Returns a new condition variable, optionally assigning it the object name name, which may be any Scheme object. This procedure replaces a procedure of the same name in the core library.

Function: condition-variable-name condition-variable

Returns the name assigned to condition-variable at the time of its creation, or #f if it was not given a name.

Function: condition-variable-specific condition-variable
Function: condition-variable-specific-set! condition-variable obj

Get or set the “object-specific” property of condition-variable. In Guile’s implementation of SRFI-18, this value is stored as an object property, and will be #f if not set.

Function: condition-variable-signal! condition-variable
Function: condition-variable-broadcast! condition-variable

Wake up one thread that is waiting for condition-variable, in the case of condition-variable-signal!, or all threads waiting for it, in the case of condition-variable-broadcast!. The behavior of these procedures is equivalent to that of the procedures signal-condition-variable and broadcast-condition-variable in the core library.