|
| | 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