The Win32::IPC module provides synchronization for multiple objects created from
the Semaphore, Mutex, Process, and ChangeNotify classes.
This wait
method of this class is inherited by objects of the preceding
modules, as well as the functions wait_all
and wait_any
. You
should not need to call Win32::IPC directly.
$obj->wait
([timeout
])
This method is used on any synchronization object. It waits for the object
to become signaled. It returns 1 if the object is signaled, -1 if the
object is an abandoned mutex, 0 if the call times out, and undef
on error.
timeout
is the time to wait (in milliseconds). If no timeout
is
specified, the method waits indefinitely.
Win32::IPC also defines the two functions wait_all
and wait_any
:
wait_all(@objects
, [timeout]
)
Waits for all the synchronization objects contained in @objects
to
be signaled. The optional timeout
parameter is the same as described for
wait
. The return value will be an integer that identifies the
last object to be signaled (the n
th object in the list, starting from
1). A negative integer (-n
) indicates that the n
th object was
an abandoned mutex. A return of 0 means that the function timed out; and
undef
is returned on error.
wait_any(@objects
, [timeout]
)
Waits for at least one of the objects contained in @objects
to be signaled. Return values are the same as for wait_all
, above,
indicating which object signaled.