Logo Search packages:      
Sourcecode: maxdb-7.5.00 version File versions

bool Log_Writer::SuspendAndGetLastWrittenIOSequence ( tsp00_TaskId  taskid,
Log_IOSequenceNo iosequence 
)

The logwriter is suspended until Resume() is called. The returned iosequence is the last used iosequence.

Parameters:
taskid [in]
iosequence [out]
Returns:
Returns false if this is called more then by one task.

Definition at line 679 of file Log_Writer.cpp.

References LogVolume_Trace, m_IOSequenceNo, m_SuspendedByUser, m_UserWaitingForSuspend, m_WriterTaskSync, and Log_WriterTaskSynchronizer::Resume().

Referenced by Log_Volume::SuspendAndGetLastWrittenIOSequence().

{
    // PTS 1114053 UH 2002-10-22 new
    SAPDBTRACE_METHOD_DEBUG ("Log_Writer::SuspendAndGetLastWrittenIOSequence", LogVolume_Trace, 5);

    if ( m_SuspendedByUser )
        return false;

    m_SuspendedByUser       = true;
    m_UserWaitingForSuspend = taskid;
    
    m_WriterTaskSync.Resume();
    
    RTE_Message( Log_Exception(__CONTEXT__, LOG_WRITER_USER_SUSPENDED) );

    vsuspend(taskid, WAIT_FOR_LOGWRITER_SUSPEND);

    // The logwriter is suspended now.
    iosequence = m_IOSequenceNo;
    
    return true;
}


Generated by  Doxygen 1.6.0   Back to index