[Toc][Index]

DosCloseSem


Bindings:  C, MASM 

This call closes a handle to a system semaphore, obtained with a 
DosCreateSem or DosOpenSem request. 
 DosCloseSem     (SemHandle) 
 
 SemHandle (HSEM) - input 
    Handle returned from a previous DosCreateSem or DosOpenSem call. 
 rc (USHORT) - return 
    Return code descriptions are: 
    0         NO_ERROR 
    102       ERROR_SEM_IS_SET 
 
 Remarks 
 DosCloseSem is issued to close a handle to a system semaphore. When all 
 processes that obtained handles to the semaphore with DosCreateSem or 
 DosOpenSem requests have issued DosCloseSem, the semaphore is deleted and 
 must be redefined by the next user with a call to DosCreateSem. 
 If a process has created a nonexclusive system semaphore and terminates 
 while the semaphore is open, the system closes the handle to the 
 semaphore that was returned by DosCreateSem. If the process is currently 
 holding the semaphore when it terminates, OS/2 clears the semaphore and 
 returns ERROR_SEM_OWNER_DIED to the next thread that gets the resource 
 because of a DosSemRequest call. This error message alerts the holder of 
 the semaphore that the semaphore owner may have ended abnormally; 
 consequently, the resource is in an indeterminate state.  The thread 
 should take appropriates steps to protect the integrity of the resource. 
  Upon completion of cleanup activity, the thread can release the 
 semaphore by calling DosSemClear. This call resets the error condition 
 flagged in the semaphore data structure and makes the semaphore available 
 to the next user of the resource. The semaphore remains available to all 
 processes that obtained handles to it with DosOpenSem requests until they 
 call DosCloseSem to release the semaphore handles. 
 If a process has created an exclusive system semaphore and terminates 
 while the semaphore is open, ownership of the semaphore is transferred to 
 the thread executing any exit list routines. If no exit list routines 
 have been identified to the system with DosExitList, the system closes 
 the handle to the semaphore. 

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