Win32::IPC - Base class for Win32 synchronization objects |
Win32::IPC - Base class for Win32 synchronization objects
use Win32::Event 1.00 qw(wait_any); #Create objects.
wait_any(@ListOfObjects,$timeout);
This module is loaded by the other Win32 synchronization modules. You shouldn't need to load it yourself. It supplies the wait functions to those modules.
The synchronization modules are Win32::ChangeNotify, Win32::Event, Win32::Mutex, & Win32::Semaphore.
Win32::IPC supplies one method to all synchronization objects.
wait([$timeout])
$obj
to become signalled. $timeout
is the maximum time
to wait (in milliseconds). If $timeout
is omitted, waits forever.
If $timeout
is 0, returns immediately.
Returns:
+1 The object is signalled -1 The object is an abandoned mutex 0 Timed out undef An error occurred
@objects
to become signalled.
$timeout
is the maximum time to wait (in milliseconds). If
$timeout
is omitted, waits forever. If $timeout
is 0, returns
immediately.
The return value indicates which object ended the wait:
+N $object[N-1] is signalled -N $object[N-1] is an abandoned mutex 0 Timed out undef An error occurred
If more than one object became signalled, the one with the lowest index is used.
wait_any
, but it waits for all the @objects
to become signalled. The return value indicates the last object to
become signalled, and is negative if at least one of the @objects
is an abandoned mutex.
Win32::IPC still supports the ActiveWare syntax, but its use is deprecated.
$timeout
argument
instead.
WaitForMultipleObjects
erases @objects
!
Use wait_all
or wait_any
instead.
Wait($timeout)
not $obj->wait($timeout)
.
Christopher J. Madsen <chris_madsen@geocities.com>
Loosely based on the original module by ActiveWare Internet Corp., http://www.ActiveWare.com
Win32::IPC - Base class for Win32 synchronization objects |