|
const char * | m_pName |
| name of sync object
|
|
uint32 | m_uCount |
| signaled count of object
|
|
bool | m_bManual |
| manual object yes/no
|
|
tTaskId | m_idFstWaiting |
| id of first task waiting for the sync object
|
|
tTaskId | m_idLstWaiting |
| id of last task waiting for the sync object
|
|
SINOSCoreLock | m_Lock |
| core lock
|
|
CINOSSyncNode * | m_pNode |
| pointer to object node (if any)
|
|
◆ CINOSSync()
CINOSSync::CINOSSync |
( |
const char * |
aName = 0 , |
|
|
uint32 |
aInitialCount = 0 , |
|
|
bool |
aManual = false |
|
) |
| |
- Parameters
-
aName | Name of the sync object. Useful for debugging purposes, e.g. it may help to identify a sync object when using a debugger. |
aInitialCount | The initial 'signal' count. |
aManual | if false (the default), wake up only one task at a time. If true, then all waiting tasks (and CINOSMultiSync objects) will be woken up) |
◆ GetName()
◆ MsgEvent()
Put an event message to the sync object. The base implementation ignores the message and returns false.
- Parameters
-
apMsg | the original message of this call. |
auFlags | |
Reimplemented in CINOSMcSyncEvent.
◆ Reset()
◆ Signal()
◆ SignalAndUnlock()
void CINOSSync::SignalAndUnlock |
( |
uint32 |
auMsr | ) |
|
|
inlineprotected |
Put object into the signaled state and release the core lock.
- Parameters
-
auMsr | the return value of the previous INOSCoreLock() on the semaphore's m_Lock. Intended to be used by subclasses only, e.g. CINOSSemaphore::Release |
◆ SignalEx()
Put object into the signaled state with CINOSTaskExMsg and reply information. default behaviour is the same as signal.
- Parameters
-
apMsg | the original message of this call. |
auRplId | reply id code. |
auAppError | application error code. |
Reimplemented in CINOSMcRobotInitSync.
◆ Wait()
virtual uint32 CINOSSync::Wait |
( |
uint32 |
aTimeout = 0xFFFFFFFF | ) |
|
|
virtual |
wait for signaled state for max. aTimeout usec
- Parameters
-
auTimeout | max. time to wait for the signaled state or forever if used INOS_WAIT_FOREVER. The unit of the time is [usec] (microseconds). Set auTimeout == 100000 for example if you want to wait for max. 100ms |
Reimplemented in CINOSMultiSync, CINOSBitSetEvent, and CINOSBitClearedEvent.
The documentation for this class was generated from the following file:
- /home/jenkins/workspace/inos_doxygen/os/inos/inc/inos_syn.h