DosPostEventSem: Difference between revisions
Appearance
No edit summary |
mNo edit summary |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
== Syntax == | == Syntax == | ||
DosPostEventSem( ''hevSemaphore'' ) | |||
=== Parameters === | === Parameters === | ||
;HEV ''hevSemaphore'' (input):The handle of the semaphore to be posted. | |||
The handle of the semaphore to be posted. | |||
=== Returns === | === Returns === | ||
;APIRET rc:The following values can be returned: | |||
The following values can be returned: | |||
{|class="wikitable" | {|class="wikitable" | ||
|0 | |0||NO_ERROR||Semaphore posted successfully | ||
|NO_ERROR | |||
|Semaphore posted successfully | |||
|- | |- | ||
|6 | |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 | ||
|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 | |298||ERROR_TOO_MANY_POSTS||Error, The call increased the post count beyond the system limit of 65535 posts. | ||
|ERROR_TOO_MANY_POSTS | |||
|Error, The call increased the post count beyond the system limit of 65535 posts. | |||
|- | |- | ||
|299 | |299||ERROR_ALREADY_POSTED||Error, not fatal, The semaphore has already been posted, The post count has been increased by one. | ||
|ERROR_ALREADY_POSTED | |||
|Error, not fatal, The semaphore has already been posted, The post count has been increased by one. | |||
|} | |} | ||
Latest revision as of 00:53, 21 February 2020
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. */
}