Gurusamy Sarathy > libwin32-0.191 > Win32::IPC

Download:
libwin32-0.191.zip

Dependencies

Annotate this POD

Related Modules

Win32::Event
Win32::API
Win32::Process
File::Find
Win32::Semaphore
Win32::Mutex
Time::HiRes
Thread::Queue
Win32::Pipe
IO::Select
more...
By perlmonks.org

CPAN RT

New  9
Open  0
View/Report Bugs
Module Version: 1.02   Source  

NAME ^

Win32::IPC - Base class for Win32 synchronization objects

SYNOPSIS ^

    use Win32::Event 1.00 qw(wait_any);
    #Create objects.

    wait_any(@ListOfObjects,$timeout);

DESCRIPTION ^

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".

Methods

Win32::IPC supplies one method to all synchronization objects.

$obj->wait([$timeout])

Waits for $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

Functions

wait_any(@objects, [$timeout])

Waits for at least one of the @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_all(@objects, [$timeout])

This is the same as 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.

Deprecated Functions and Methods

Win32::IPC still supports the ActiveWare syntax, but its use is deprecated.

INFINITE

Constant value for an infinite timeout. Omit the $timeout argument instead.

WaitForMultipleObjects(\@objects, $wait_all, $timeout)

Warning: WaitForMultipleObjects erases @objects! Use wait_all or wait_any instead.

$obj->Wait($timeout)

Similar to not $obj->wait($timeout).

AUTHOR ^

Christopher J. Madsen <chris_madsen@geocities.com>

Loosely based on the original module by ActiveWare Internet Corp., http://www.ActiveWare.com

syntax highlighting: