|
| CINOSSync (const char *aName=0, uint32 aInitialCount=0, bool aManual=false) |
|
virtual | ~CINOSSync () |
| Destroy sync object.
|
|
virtual const char * | GetName () |
| Get name of sync object.
|
|
virtual uint32 | Wait (uint32 aTimeout=0xFFFFFFFF) |
| wait for signaled state for max. aTimeout usec
|
|
virtual void | Signal () |
| Put object into the signaled state.
|
|
virtual void | SignalEx (CINOSTaskExMsg *apMsg, uint32 auRplId, uint32 auAppError) |
|
virtual bool | MsgEvent (CINOSTaskExMsg *apMsg) |
|
virtual void | Reset () |
| Reset object state.
|
|
volatile uint32 * | GetLockAdr () |
| Return pointer to core locking structure.
|
|
virtual bool | UsesPolling () const |
|
bool | IsSame (CINOSSync *i_pSync) |
|
int | operator< (const CINOSSync &aSync) const |
|
int | operator== (const CINOSSync &aSync) const |
|
int | operator< (const char *aName) const |
|
int | operator== (const char *aName) const |
|
|
virtual bool | Signaled (CINOSSync *&aChild) |
|
virtual CINOSSyncNode * | GetNode () |
|
virtual void | SetNode (CINOSSyncNode *aNode) |
|
void | SignalAndUnlock (uint32 auMsr) |
| Put object into the signaled state and release the core lock.
|
|
|
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)
|
|
|
class | CINOSKernel |
|
class | CINOSScheduler |
|
class | CINOSTask |
|
class | CINOSMultiSync |
|
◆ 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()
virtual const char * CINOSSync::GetName |
( |
| ) |
|
|
inlinevirtual |
◆ 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()
virtual void CINOSSync::Reset |
( |
| ) |
|
|
virtual |
◆ Signal()
virtual void CINOSSync::Signal |
( |
| ) |
|
|
inlinevirtual |
◆ 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()
virtual void CINOSSync::SignalEx |
( |
CINOSTaskExMsg * |
apMsg, |
|
|
uint32 |
auRplId, |
|
|
uint32 |
auAppError |
|
) |
| |
|
inlinevirtual |
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. |
◆ 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