FSH SEMWAIT: Difference between revisions
Appearance
Created page with "This function allows an FSD to wait for an event. The event is signaled by a call to FSH_SEMCLEAR. ==Syntax== FSH_SEMWAIT(pSem, cmsTimeout ==Parameters== ;pSem: is the hand..." |
mNo edit summary |
||
Line 1: | Line 1: | ||
This function allows an FSD to wait for an event. The event is signaled by a call to FSH_SEMCLEAR. | This function allows an FSD to wait for an event. The event is signaled by a call to FSH_SEMCLEAR. | ||
==Syntax== | ==Syntax== | ||
FSH_SEMWAIT(pSem, cmsTimeout | |||
==Parameters== | ==Parameters== | ||
;pSem: is the handle to the system semaphore or the long address of the ram semaphore. | ;pSem: is the handle to the system semaphore or the long address of the ram semaphore. | ||
;cmsTimeout: is the number of milliseconds to wait. | |||
==Returns== | ==Returns== | ||
If no error is detected, a zero error code is returned. If an error is detected, one of the following error codes is returned: | If no error is detected, a zero error code is returned. If an error is detected, one of the following error codes is returned: | ||
*ERROR_SEM_TIMEOUT the time-out expired without gaining access to the semaphore. | |||
*ERROR_SEM_TIMEOUT the time-out expired without gaining access to the semaphore. | *ERROR_INTERRUPT the current thread received a signal. | ||
*ERROR_PROTECTION_VIOLATION the semaphore is inaccessible. | |||
*ERROR_INTERRUPT the current thread received a signal. | |||
*ERROR_PROTECTION_VIOLATION the semaphore is inaccessible. | |||
==Calling Sequence== | ==Calling Sequence== | ||
Line 21: | Line 20: | ||
void far * pSem; | void far * pSem; | ||
unsigned long cmsTimeout; | unsigned long cmsTimeout; | ||
</PRE> | |||
==Remarks== | ==Remarks== | ||
The caller may return after the time-out period has expired without receiving an ERROR_SEM_TIMEOUT. Semaphore time-out values, therefore, should not be used for exact timing and sequence. | The caller may return after the time-out period has expired without receiving an ERROR_SEM_TIMEOUT. Semaphore time-out values, therefore, should not be used for exact timing and sequence. | ||
FSH_SEMWAIT may block. | FSH_SEMWAIT may block. | ||
;Note: | ;Note: OS/2 does not validate input parameters. An FSD, therefore, should call FSH_PROBEBUF where appropriate. | ||
[[Category:IFS Interfaces]] | [[Category:IFS Interfaces]] | ||
{{DISPLAYTITLE:FSH_SEMWAIT}} | {{DISPLAYTITLE:FSH_SEMWAIT}} |
Latest revision as of 05:49, 20 February 2020
This function allows an FSD to wait for an event. The event is signaled by a call to FSH_SEMCLEAR.
Syntax
FSH_SEMWAIT(pSem, cmsTimeout
Parameters
- pSem
- is the handle to the system semaphore or the long address of the ram semaphore.
- cmsTimeout
- is the number of milliseconds to wait.
Returns
If no error is detected, a zero error code is returned. If an error is detected, one of the following error codes is returned:
- ERROR_SEM_TIMEOUT the time-out expired without gaining access to the semaphore.
- ERROR_INTERRUPT the current thread received a signal.
- ERROR_PROTECTION_VIOLATION the semaphore is inaccessible.
Calling Sequence
int far pascal FSH_SEMWAIT(pSem, cmsTimeout) void far * pSem; unsigned long cmsTimeout;
Remarks
The caller may return after the time-out period has expired without receiving an ERROR_SEM_TIMEOUT. Semaphore time-out values, therefore, should not be used for exact timing and sequence.
FSH_SEMWAIT may block.
- Note
- OS/2 does not validate input parameters. An FSD, therefore, should call FSH_PROBEBUF where appropriate.