DosPostEventSem
From EDM2
Contents
Syntax
DosPostEventSem( hevSemaphore )
Parameters
- HEV hevSemaphore (input)
- The handle of the semaphore to be posted.
Returns
- APIRET rc
- The following values can be returned:
0 | NO_ERROR | Semaphore posted successfully |
6 | ERROR_INVALID_HANDLE | Error, The value in phevSemaphore does not point to a valid semaphore, The calling process must first have access to the semaphore in question |
298 | ERROR_TOO_MANY_POSTS | Error, The call increased the post count beyond the system limit of 65535 posts. |
299 | ERROR_ALREADY_POSTED | Error, not fatal, The semaphore has already been posted, The post count has been increased by one. |
Usage Explanation
DosPostEventSem increments, by one (1), the post count of the event semaphore referred to by hevSemaphore. If the semaphore has already been posted since the last reset, ERROR_ALREADY_POSTED is returned. This is not fatal and the post count is still incremented.
Gotchas
The process calling DosPostEventSem must first obtain access to the semaphore in question or ERROR_INVALID_HANDLE will be returned.
Sample Code
#define INCL_DOSSEMAPHORES #include <os2.h> HEV hevMySemaphore; /* MySemaphore handle */ /* access is gained to the semaphore in question */ /* either by DosCreateEventSem ... */ /* ... or by DosOpenEventSem */ /* its handle is placed in hevMySemaphore */ /* process becomes owner of semaphore */ /* by way of successful call to DosRequestEventSem */ rc = DosPostEventSem(hevMySemaphore); if (rc != 0) { /* We got an error to take care of. */ }