DosPostEventSem

From EDM2
Revision as of 23:53, 20 February 2020 by Ak120 (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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. */
	}

See Also