Book HomeJava and XSLTSearch this book

22.16. Win32::Semaphore

The Win32::Semaphore module implements semaphores, synchronizing access to shared resources. The constructor new creates a new semaphore object and sets the initial count and the maximum count of the semaphore. The constructor has the following syntax:

$sem = Win32::Semaphore->new(init, max, [name]);

The arguments are defined as follows:

init
The initial count of the semaphore

max
The maximum count of the semaphore

name
A string containing a name of the semaphore

The open constructor opens an existing semaphore object specified by name:

$sem = Win32::Semaphore->open(name);

The following methods can be used on Win32::Semaphore objects.

release

$sem->release(inc, [$var])

Releases a semaphore and increments the count by the amount specified in inc. The last count (before the increment) is returned in the $var variable, if provided.

wait

$sem->wait([timeout])

The inherited Win32::IPC call. Waits for the semaphore's count to be nonzero, then decrements it. Optional timeout is given in milliseconds.



Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.