static void vboxDispLogDbgFormatStringV(char * szBuffer, uint32_t cbBuffer, const char * szString, va_list pArgList) { uint32_t cbWritten = sprintf(szBuffer, "['%s' 0x%x.0x%x] Disp: ", vboxVDbgDoGetModuleName(), GetCurrentProcessId(), GetCurrentThreadId()); if (cbWritten > cbBuffer) { AssertReleaseFailed(); return; } _vsnprintf(szBuffer + cbWritten, cbBuffer - cbWritten, szString, pArgList); }
uint32_t hgcmObjMake (HGCMObject *pObject, uint32_t u32HandleIn) { int handle = 0; LogFlow(("MAIN::hgcmObjGenerateHandle: pObject %p\n", pObject)); int rc = hgcmObjEnter (); if (RT_SUCCESS(rc)) { ObjectAVLCore *pCore = &pObject->m_core; /* Generate a new handle value. */ uint32_t volatile *pu32HandleCountSource = pObject->Type () == HGCMOBJ_CLIENT? &g_u32ClientHandleCount: &g_u32InternalHandleCount; uint32_t u32Start = *pu32HandleCountSource; for (;;) { uint32_t Key; if (u32HandleIn == 0) { Key = ASMAtomicIncU32 (pu32HandleCountSource); if (Key == u32Start) { /* Rollover. Something is wrong. */ AssertReleaseFailed (); break; } /* 0 and 0x80000000 are not valid handles. */ if ((Key & 0x7FFFFFFF) == 0) { /* Over the invalid value, reinitialize the source. */ *pu32HandleCountSource = pObject->Type () == HGCMOBJ_CLIENT? 0: 0x80000000; continue; } } else { Key = u32HandleIn; } /* Insert object to AVL tree. */ pCore->AvlCore.Key = Key; bool bRC = RTAvlULInsert(&g_pTree, &pCore->AvlCore); /* Could not insert a handle. */ if (!bRC) { if (u32HandleIn == 0) { /* Try another generated handle. */ continue; } else { /* Could not use the specified handle. */ break; } } /* Initialize backlink. */ pCore->pSelf = pObject; /* Reference the object for time while it resides in the tree. */ pObject->Reference (); /* Store returned handle. */ handle = Key; Log(("Object key inserted 0x%08X\n", Key)); break; } hgcmObjLeave (); } else { AssertReleaseMsgFailed (("MAIN::hgcmObjGenerateHandle: Failed to acquire object pool semaphore")); } LogFlow(("MAIN::hgcmObjGenerateHandle: handle = 0x%08X, rc = %Rrc, return void\n", handle, rc)); return handle; }
VirtualBox::ClientWatcher::ClientWatcher() : mLock(LOCKCLASS_OBJECTSTATE) { AssertReleaseFailed(); }
/** @copydoc KLDRRDROPS::pfnCreate * @remark This is a dummy which isn't used. */ static int rtkldrRdr_Create( PPKRDR ppRdr, const char *pszFilename) { NOREF(ppRdr); NOREF(pszFilename); AssertReleaseFailed(); return -1; }