DosCloseEventSem: Difference between revisions
Appearance
m Ak120 moved page OS2 API:CPI:DosCloseEventSem to DosCloseEventSem |
mNo edit summary |
||
Line 1: | Line 1: | ||
== Syntax == | |||
DosCloseEventSem( ''hevSemaphore'' ) | |||
=== Parameters === | === Parameters === | ||
Line 7: | Line 7: | ||
=== Returns === | === Returns === | ||
;APIRET rc:The following values can be returned | |||
The following values can be returned | |||
{|class="wikitable" | {|class="wikitable" | ||
|0 | |0 | ||
Line 22: | Line 21: | ||
|Error, Another thread in this process is blocked on the semaphore | |Error, Another thread in this process is blocked on the semaphore | ||
|} | |} | ||
=== Usage Explanation === | === Usage Explanation === | ||
Line 32: | Line 27: | ||
* Shared (named or unnamed) semaphores may have usage counts greater than one (1), therefore they may or may not be freed from system resources on successful completion of DosCloseEventSem. | * Shared (named or unnamed) semaphores may have usage counts greater than one (1), therefore they may or may not be freed from system resources on successful completion of DosCloseEventSem. | ||
==Sample Code== | |||
<PRE> | <PRE> | ||
#define INCL_DOSSEMAPHORES | #define INCL_DOSSEMAPHORES | ||
#include | #include <os2.h> | ||
HEV hevMySemaphore; /* pointer to my semaphore handle */ | HEV hevMySemaphore; /* pointer to my semaphore handle */ | ||
Line 54: | Line 49: | ||
</PRE> | </PRE> | ||
==See Also== | |||
*[[DosCreateEventSem]] | *[[DosCreateEventSem]] | ||
*[[DosOpenEventSem]] | *[[DosOpenEventSem]] |
Latest revision as of 11:18, 12 October 2018
Syntax
DosCloseEventSem( hevSemaphore )
Parameters
HEV hevSemaphore (input)
This is a handle to the event semaphore (HEV) to be closed.
Returns
- APIRET rc
- The following values can be returned
0 | NO_ERROR | Semaphore closed successfully |
6 | ERROR_INVALID_HANDLE | Error, The value in hevSemaphore does not point to a valid semaphore |
301 | ERROR_SEM_BUSY | Error, Another thread in this process is blocked on the semaphore |
Usage Explanation
DosCloseEventSem decrements, by one (1), the usage count for the semaphore specified by the handle hevSemaphore. If the usage count goes to zero (0) then the semaphore is freed from the system.
- The usage count for private semaphores is always one (1) so all private semaphores will be freed on successful completion of this call.
- Shared (named or unnamed) semaphores may have usage counts greater than one (1), therefore they may or may not be freed from system resources on successful completion of DosCloseEventSem.
Sample Code
#define INCL_DOSSEMAPHORES #include <os2.h> HEV hevMySemaphore; /* pointer to my semaphore handle */ /* an event semaphore is successfully created */ /* its handle is placed in hevMySemaphore */ rc = DosCloseEventSem(hevMySemaphore); if (rc != 0) { /* We got an error to take care of. */ } else { /* The semaphore was successfully closed */ }