SynchObj.h File Reference

Go to the source code of this file.

Typedefs

typedef boost::mutex StrictMutex
typedef boost::recursive_mutex::scoped_lock RecursiveMutexGuard
typedef boost::mutex::scoped_lock StrictMutexGuard
typedef boost::condition_variable LocalCondition

Functions

void FENNEL_SYNCH_EXPORT convertTimeout (uint iMillis, boost::xtime &)

Variables

FENNEL_BEGIN_NAMESPACE typedef
boost::recursive_mutex 
RecursiveMutex


Typedef Documentation

typedef boost::condition_variable LocalCondition

Definition at line 38 of file SynchObj.h.

typedef boost::recursive_mutex::scoped_lock RecursiveMutexGuard

Definition at line 36 of file SynchObj.h.

typedef boost::mutex StrictMutex

Definition at line 35 of file SynchObj.h.

typedef boost::mutex::scoped_lock StrictMutexGuard

Definition at line 37 of file SynchObj.h.


Function Documentation

void FENNEL_SYNCH_EXPORT convertTimeout ( uint  iMillis,
boost::xtime &   
)

Definition at line 31 of file SynchObj.cpp.

References isMAXU().

Referenced by LogicalTxnLog::commitTxnWithGroup(), CacheImpl< PageT, VictimPolicyT >::findFreePage(), SegPageBackupRestoreDevice::getFreeScratchPage(), TimerThread::run(), GroupLock::waitFor(), and SXMutex::waitFor().

00032 {
00033     boost::xtime_get(&atv,boost::TIME_UTC);
00034     if (isMAXU(iMilliseconds)) {
00035         // FIXME:  Solaris doesn't like bogus huge times like
00036         // ACE_Time_Value::max_time, so this uses NOW+10HRS.  Instead, should
00037         // precalculate a real time much farther in the future and keep it
00038         // around as a singleton.
00039         atv.sec += 36000;
00040     } else if (iMilliseconds) {
00041         long sec = iMilliseconds / 1000;
00042         long nsec = (iMilliseconds%1000)*1000000;
00043         atv.sec += sec;
00044         atv.nsec += nsec;
00045     }
00046 }


Variable Documentation

FENNEL_BEGIN_NAMESPACE typedef boost::recursive_mutex RecursiveMutex

Definition at line 34 of file SynchObj.h.


Generated on Mon Jun 22 04:00:23 2009 for Fennel by  doxygen 1.5.1