[Box Backup-commit] COMMIT r1893 - box/trunk/lib/common

boxbackup-dev at fluffy.co.uk boxbackup-dev at fluffy.co.uk
Wed Oct 17 13:55:24 BST 2007


Author: chris
Date: 2007-10-17 13:55:24 +0100 (Wed, 17 Oct 2007)
New Revision: 1893

Modified:
   box/trunk/lib/common/Timer.cpp
Log:
Make detailed timer debugging work on Windows as well.

Add a couple of macros to clean up the code.

(merges [1857])


Modified: box/trunk/lib/common/Timer.cpp
===================================================================
--- box/trunk/lib/common/Timer.cpp	2007-10-17 12:55:05 UTC (rev 1892)
+++ box/trunk/lib/common/Timer.cpp	2007-10-17 12:55:24 UTC (rev 1893)
@@ -129,6 +129,14 @@
 	Reschedule();
 }
 
+#define FORMAT_BOX_TIME(t) \
+	(BoxTimeToSeconds(t)) << "." << \
+	(BoxTimeToMicroSeconds(t) % MICRO_SEC_IN_SEC)
+
+#define FORMAT_MICROSECONDS(t) \
+	(int)(t / 1000000) << "." << \
+	(int)(t % 1000000)
+
 // --------------------------------------------------------------------------
 //
 // Function
@@ -178,8 +186,7 @@
 		
 			if (timeToExpiry <= 0)
 			{
-				BOX_TRACE((int)(timeNow / 1000000) << "." <<
-					(int)(timeNow % 1000000) <<
+				BOX_TRACE(FORMAT_MICROSECONDS(timeNow) <<
 					": timer " << *i << " has expired, "
 					"triggering it");
 				rTimer.OnExpire();
@@ -189,12 +196,10 @@
 			}
 			else
 			{
-				BOX_TRACE((int)(timeNow / 1000000) << "." <<
-					(int)(timeNow % 1000000) <<
+				BOX_TRACE(FORMAT_MICROSECONDS(timeNow) <<
 					": timer " << *i << " has not "
 					"expired, triggering in " <<
-					(int)(timeToExpiry / 1000000) << "." <<
-					(int)(timeToExpiry % 1000000) <<
+					FORMAT_MICROSECONDS(timeToExpiry) <<
 					" seconds");
 			}
 		}
@@ -260,22 +265,20 @@
 : mExpires(GetCurrentBoxTime() + SecondsToBoxTime(timeoutSecs)),
   mExpired(false)
 {
-	#if !defined NDEBUG && !defined WIN32
-	struct timeval tv;
-	gettimeofday(&tv, NULL);
+	#ifndef NDEBUG
+	box_time_t timeNow = GetCurrentBoxTime();
 	if (timeoutSecs == 0)
 	{
-		BOX_TRACE(tv.tv_sec << "." << tv.tv_usec <<
+		BOX_TRACE(FORMAT_BOX_TIME(timeNow) <<
 			": timer " << this << " initialised for " <<
 			timeoutSecs << " secs, will not fire");
 	}
 	else
 	{
-		BOX_TRACE(tv.tv_sec << "." << tv.tv_usec <<
+		BOX_TRACE(FORMAT_BOX_TIME(timeNow) <<
 			": timer " << this << " initialised for " <<
 			timeoutSecs << " secs, to fire at " <<
-			(int)(mExpires / 1000000) << "." <<
-			(int)(mExpires % 1000000));
+			FORMAT_MICROSECONDS(mExpires));
 	}
 	#endif
 
@@ -291,10 +294,9 @@
 
 Timer::~Timer()
 {
-	#if !defined NDEBUG && !defined WIN32
-	struct timeval tv;
-	gettimeofday(&tv, NULL);
-	BOX_TRACE(tv.tv_sec << "." << tv.tv_usec <<
+	#ifndef NDEBUG
+	box_time_t timeNow = GetCurrentBoxTime();
+	BOX_TRACE(FORMAT_BOX_TIME(timeNow) <<
 		": timer " << this << " destroyed");
 	#endif
 
@@ -305,24 +307,23 @@
 : mExpires(rToCopy.mExpires),
   mExpired(rToCopy.mExpired)
 {
-	#if !defined NDEBUG && !defined WIN32
-	struct timeval tv;
-	gettimeofday(&tv, NULL);
+	#ifndef NDEBUG
+	box_time_t timeNow = GetCurrentBoxTime();
 	if (mExpired)
 	{
-		BOX_TRACE(tv.tv_sec << "." << tv.tv_usec <<
+		BOX_TRACE(FORMAT_BOX_TIME(timeNow) <<
 			": timer " << this << " initialised from timer " <<
 			&rToCopy << ", already expired, will not fire");
 	}
 	else if (mExpires == 0)
 	{
-		BOX_TRACE(tv.tv_sec << "." << tv.tv_usec <<
+		BOX_TRACE(FORMAT_BOX_TIME(timeNow) <<
 			": timer " << this << " initialised from timer " <<
 			&rToCopy << ", no expiry, will not fire");
 	}
 	else
 	{
-		BOX_TRACE(tv.tv_sec << "." << tv.tv_usec <<
+		BOX_TRACE(FORMAT_BOX_TIME(timeNow) <<
 			": timer " << this << " initialised from timer " <<
 			&rToCopy << " to fire at " <<
 			(int)(mExpires / 1000000) << "." <<
@@ -338,24 +339,23 @@
 
 Timer& Timer::operator=(const Timer& rToCopy)
 {
-	#if !defined NDEBUG && !defined WIN32
-	struct timeval tv;
-	gettimeofday(&tv, NULL);
+	#ifndef NDEBUG
+	box_time_t timeNow = GetCurrentBoxTime();
 	if (rToCopy.mExpired)
 	{
-		BOX_TRACE(tv.tv_sec << "." << tv.tv_usec <<
+		BOX_TRACE(FORMAT_BOX_TIME(timeNow) <<
 			": timer " << this << " initialised from timer " <<
 			&rToCopy << ", already expired, will not fire");
 	}
 	else if (rToCopy.mExpires == 0)
 	{
-		BOX_TRACE(tv.tv_sec << "." << tv.tv_usec <<
+		BOX_TRACE(FORMAT_BOX_TIME(timeNow) <<
 			": timer " << this << " initialised from timer " <<
 			&rToCopy << ", no expiry, will not fire");
 	}
 	else
 	{
-		BOX_TRACE(tv.tv_sec << "." << tv.tv_usec <<
+		BOX_TRACE(FORMAT_BOX_TIME(timeNow) <<
 			": timer " << this << " initialised from timer " <<
 			&rToCopy << " to fire at " <<
 			(int)(rToCopy.mExpires / 1000000) << "." <<
@@ -375,11 +375,9 @@
 
 void Timer::OnExpire()
 {
-	#if !defined NDEBUG && !defined WIN32
-	struct timeval tv;
-	gettimeofday(&tv, NULL);
-	BOX_TRACE(tv.tv_sec << "." << tv.tv_usec <<
-		": timer " << this << " fired");
+	#ifndef NDEBUG
+	box_time_t timeNow = GetCurrentBoxTime();
+	BOX_TRACE(FORMAT_BOX_TIME(timeNow) << ": timer " << this << " fired");
 	#endif
 
 	mExpired = true;




More information about the Boxbackup-commit mailing list