$Date: 2005/10/26 12:19:15 $
$Revision: 1.11 $
-- Creates a semaphore with an_initial_value.
-- Attempts to lock the semaphore but does not suspend the calling thread.
-- Returns True if the semaphore was locked successfully. In this case the
-- semaphore value was automatically decreased.
-- Returns False if the semaphore could not be locked or an error occured.
-- Releases the lock on the semaphore and increments the semaphore value.
-- Releases the lock on the semaphore only if its value is currently 0.
-- Locks the semaphore and suspends the calling thread if the semaphore value is zero.
-- This call will automatically decrease the semaphore value.
-- Locks the semaphore, but only wait up to a specific maximum time.
-- a_timeout is the maximum wait time in miliseconds.
-- You should not use this feature if possible, because on some
-- platforms it is implemented by active waiting (spinning).
-- Returns True if the lock was successful. In this case the semaphore
-- value was automatically decreased.
-- Returns False if a timeout or error occured.
-- Returns the current value of the semaphore.
*** Since Eiffel doesn't correctly support threats, this doesn't work yet ***
A semaphore that can control access to shared ressources.