/**************************************************************************** Desc: ****************************************************************************/ void F_IOBuffer::notifyComplete( RCODE completionRc) { f_assert( m_bPending); m_bPending = FALSE; m_bCompleted = TRUE; m_completionRc = completionRc; m_uiEndTime = FLM_GET_TIMER(); m_uiElapsedTime = FLM_TIMER_UNITS_TO_MILLI( FLM_ELAPSED_TIME( m_uiEndTime, m_uiStartTime)); if( m_fnCompletion) { m_fnCompletion( this, m_pvData); m_fnCompletion = NULL; m_pvData = NULL; } if( m_pBufferMgr) { f_assert( m_eList == MGR_LIST_PENDING); f_mutexLock( m_pBufferMgr->m_hMutex); m_pBufferMgr->unlinkFromList( this); m_pBufferMgr->linkToList( &m_pBufferMgr->m_pFirstUsed, this); if( RC_OK( m_pBufferMgr->m_completionRc) && RC_BAD( completionRc)) { m_pBufferMgr->m_completionRc = completionRc; } f_mutexUnlock( m_pBufferMgr->m_hMutex); } }
/**************************************************************************** Desc: ****************************************************************************/ void TestBase::endTest( FLMBOOL bPassed) { FLMUINT uiEndTime = FLM_GET_TIMER(); FLMUINT uiElapsedMilli = FLM_TIMER_UNITS_TO_MILLI( FLM_ELAPSED_TIME( uiEndTime, m_uiStartTime)); displayTestResults( bPassed, uiElapsedMilli); if (m_bLog) { logTestResults( bPassed); } (void)m_pReporter->recordUnitTestResults( m_pszTestName, bPassed, m_szFailInfo); }
/**************************************************************************** Desc: Retrieves the Checkpoint info for the database passed in. This assumes global mutex has already been locked. *****************************************************************************/ void F_Database::getCPInfo( XFLM_CHECKPOINT_INFO * pCheckpointInfo) { FLMUINT uiElapTime; FLMUINT uiCurrTime; flmAssert( pCheckpointInfo); f_memset( pCheckpointInfo, 0, sizeof( XFLM_CHECKPOINT_INFO)); if (m_pCPInfo) { pCheckpointInfo->bRunning = m_pCPInfo->bDoingCheckpoint; if (pCheckpointInfo->bRunning) { if (m_pCPInfo->uiStartTime) { uiCurrTime = FLM_GET_TIMER(); uiElapTime = FLM_ELAPSED_TIME( uiCurrTime, m_pCPInfo->uiStartTime); pCheckpointInfo->ui32RunningTime = (FLMUINT32)FLM_TIMER_UNITS_TO_MILLI( uiElapTime); } else { pCheckpointInfo->ui32RunningTime = 0; } pCheckpointInfo->bForcingCheckpoint = m_pCPInfo->bForcingCheckpoint; if (m_pCPInfo->uiForceCheckpointStartTime) { uiCurrTime = FLM_GET_TIMER(); uiElapTime = FLM_ELAPSED_TIME( uiCurrTime, m_pCPInfo->uiForceCheckpointStartTime); pCheckpointInfo->ui32ForceCheckpointRunningTime = (FLMUINT32)FLM_TIMER_UNITS_TO_MILLI( uiElapTime); } else { pCheckpointInfo->ui32ForceCheckpointRunningTime = 0; } pCheckpointInfo->ui32ForceCheckpointReason = (FLMUINT32)m_pCPInfo->iForceCheckpointReason; pCheckpointInfo->bWritingDataBlocks = m_pCPInfo->bWritingDataBlocks; pCheckpointInfo->ui32LogBlocksWritten = (FLMUINT32)m_pCPInfo->uiLogBlocksWritten; pCheckpointInfo->ui32DataBlocksWritten = (FLMUINT32)m_pCPInfo->uiDataBlocksWritten; } pCheckpointInfo->ui32BlockSize = (FLMUINT32)m_uiBlockSize; pCheckpointInfo->ui32DirtyCacheBytes = (FLMUINT32)(m_uiDirtyCacheCount * m_uiBlockSize); if (m_pCPInfo->uiStartWaitTruncateTime) { uiCurrTime = FLM_GET_TIMER(); uiElapTime = FLM_ELAPSED_TIME( uiCurrTime, m_pCPInfo->uiStartWaitTruncateTime); pCheckpointInfo->ui32WaitTruncateTime = (FLMUINT32)FLM_TIMER_UNITS_TO_MILLI( uiElapTime); } else { pCheckpointInfo->ui32WaitTruncateTime = 0; } } }