[Toc][Index]

FSH_SEMREQUEST - Request a semaphore

  
Purpose   
This function allows an FSD to obtain exclusive access to a semaphore. 
Calling Sequence   

int far pascal FSH_SEMREQUEST(pSem, cmsTimeout)

void far * pSem;
unsigned long cmsTimeout;


Where   
pSem is the handle to the system semaphore or the long address of the ram 
semaphore. 
cmsTimeout is the number of milliseconds to wait. 
  
Returns   
If no error is detected, a zero error code is returned. If an error is 
detected, one of the following error codes is returned: 
oERROR_INTERRUPT 
the current thread received a signal. 
oERROR_SEM_TIMEOUT 
the time-out expired without gaining access to the semaphore. 
oERROR_SEM_OWNER_DIED 
the owner of the semaphore died. 
oERROR_TOO_MANY_SEM_REQUESTS 
there are too many semaphore requests in progress. 
oERROR_PROTECTION_VIOLATION 
the semaphore is inaccessible. 
  
Remarks   
The time-out value of 0xFFFFFFFF indicates an indefinite time-out. 
The caller may receive access to the semaphore after the time-out period 
has expired without receiving an ERROR_SEM_TIMEOUT. Semaphore time-out 
values, therefore, should not be used for exact timing and sequencing. 
FSH_SEMREQUEST may block. 
Note:   OS/2 does not validate input parameters. An FSD, therefore, should 
call FSH_PROBEBUF where appropriate. 

Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs