Searched refs:pOnce (Results 1 - 2 of 2) sorted by relevance

/vbox/src/VBox/Runtime/common/misc/
H A Donce.cpp176 * @param pOnce The execute once structure.
180 static int rtOnceOtherThread(PRTONCE pOnce, PRTSEMEVENTMULTI phEvtM) argument
185 int32_t iState = ASMAtomicReadS32(&pOnce->iState);
192 if (ASMAtomicCmpXchgS32(&pOnce->iState, RTONCESTATE_BUSY_CREATING_SEM, RTONCESTATE_BUSY_NO_SEM))
197 ASMAtomicWriteHandle(&pOnce->hEventMulti, *phEvtM);
198 int32_t cRefs = ASMAtomicIncS32(&pOnce->cEventRefs); Assert(cRefs == 1); NOREF(cRefs);
200 if (!ASMAtomicCmpXchgS32(&pOnce->iState, RTONCESTATE_BUSY_HAVE_SEM, RTONCESTATE_BUSY_CREATING_SEM))
203 AssertReturn(ASMAtomicCmpXchgS32(&pOnce->iState, RTONCESTATE_DONE, RTONCESTATE_DONE_CREATING_SEM)
206 ASMAtomicWriteHandle(&pOnce->hEventMulti, NIL_RTSEMEVENTMULTI);
207 cRefs = ASMAtomicDecS32(&pOnce
289 RTOnceSlow(PRTONCE pOnce, PFNRTONCE pfnOnce, PFNRTONCECLEANUP pfnCleanUp, void *pvUser) argument
410 RTOnceReset(PRTONCE pOnce) argument
[all...]
/vbox/include/iprt/
H A Donce.h137 * @param pOnce Pointer to the execute once variable.
143 RTDECL(int) RTOnceSlow(PRTONCE pOnce, PFNRTONCE pfnOnce, FNRTONCECLEANUP pfnCleanUp, void *pvUser);
152 * @param pOnce Pointer to the execute once variable.
156 DECLINLINE(int) RTOnce(PRTONCE pOnce, PFNRTONCE pfnOnce, void *pvUser) argument
158 int32_t iState = ASMAtomicUoReadS32(&pOnce->iState);
162 return ASMAtomicUoReadS32(&pOnce->rc);
163 return RTOnceSlow(pOnce, pfnOnce, NULL, pvUser);
175 * @param pOnce Pointer to the execute once variable.
180 DECLINLINE(int) RTOnceEx(PRTONCE pOnce, PFNRTONCE pfnOnce, PFNRTONCECLEANUP pfnCleanUp, void *pvUser) argument
182 int32_t iState = ASMAtomicUoReadS32(&pOnce
199 RTDECL(void) RTOnceReset(PRTONCE pOnce); variable
[all...]

Completed in 45 milliseconds