FT_NWSEMEX()
Examine a NetWare semaphore's value and open count
──────────────────────────────────────────────────────────────────────────────

Syntax

FT_NWSEMEX( <nHandle>, <@nValue>, <@nOpenCnt> ) -> nRc

Arguments

<nHandle> is the semaphore handle, returned from a previous call
to FT_NWSEMOPEN().

<@nValue> will get the current semaphore value. THIS NUMERIC
ARGUMENT MUST BE PASSED BY REFERENCE!

<@nOpenCnt> will get the current number of workstations
that have opened the semaphore. THIS NUMERIC ARGUMENT MUST BE
PASSED BY REFERENCE!

Returns

nRc, a numeric, as follows:

0 - success
255 - invalid semaphore handle

In addition, nValue will be set to the semaphore's current value,
and nOpenCnt will be set to the number of stations that have
opened the semaphore.

Description

See the description for FT_NWSEMOPEN().

Examples

nInitVal := 2
nHandle := 0
nOpenCnt := 0

FT_NWSEMOPEN( "Semaphore Test", nInitVal, @nHandle, @nOpenCnt )

nRc := FT_NWSEMWAIT( nHandle )
IF nRc == 254
QOUT( "All slots for this resource are currently in use" )
QUIT
ENDIF

FT_NWSEMEX( nHandle, @nValue, @nOpenCnt )
QOUT( "Semaphore test -> Open at [" + ;
ALLTRIM(STR(nOpenCnt)) + ;
"] stations, value is [" + ;
ALLTRIM(STR(nValue)) + "]" )

Source: NWSEM.PRG

Author: Glenn Scott