svn commit: r237807 - projects/calloutng/sys/kern

Davide Italiano davide at FreeBSD.org
Fri Jun 29 17:26:38 UTC 2012


Author: davide
Date: Fri Jun 29 17:26:37 2012
New Revision: 237807
URL: http://svn.freebsd.org/changeset/base/237807

Log:
  Take in account that time_t is not 64 bits long on all the architectures
  supported. Remove an unneeded check.
  
  Reported by:		bde [1], mav [2]
  Reviewed by:		mav

Modified:
  projects/calloutng/sys/kern/kern_timeout.c

Modified: projects/calloutng/sys/kern/kern_timeout.c
==============================================================================
--- projects/calloutng/sys/kern/kern_timeout.c	Fri Jun 29 17:21:46 2012	(r237806)
+++ projects/calloutng/sys/kern/kern_timeout.c	Fri Jun 29 17:26:37 2012	(r237807)
@@ -144,6 +144,9 @@ struct callout_cpu cc_cpu;
         (bt)->frac = ((uint64_t)0x8000000000000000  / (freq)) << 1;     \
 }
 
+#define	TIME_T_MAX							\
+	(sizeof(time_t) == (sizeof(int64_t)) ? INT64_MAX : INT32_MAX)		
+
 static int timeout_cpu;
 void (*callout_new_inserted)(int cpu, struct bintime bt) = NULL;
 
@@ -394,8 +397,8 @@ callout_process(void)
 		first = (first + 1) & callwheelmask;
 	}
 	future = ((last + hz/4) & callwheelmask); 
-	max.sec = max.frac = INT_MAX;
-	min.sec = min.frac = INT_MAX;
+	max.sec = min.sec = TIME_T_MAX;
+	max.frac = min.frac = UINT64_MAX;
 	limit.sec = 0;
 	limit.frac = (uint64_t)1 << (64 - 2);
 	bintime_add(&limit, &now);		
@@ -432,12 +435,11 @@ callout_process(void)
 			min = (bintime_cmp(&tmp_min, &min, >)) ? tmp_min : min;
 			max = (bintime_cmp(&tmp_max, &max, >)) ? tmp_max : max;
 		}		
-		if (last == future || 
-		    (max.sec != INT_MAX && min.sec != INT_MAX))
+		if (last == future || max.sec != TIME_T_MAX) 
 			break;
 		last = (last + 1) & callwheelmask;
 	}
-	if (max.sec == INT_MAX && min.sec == INT_MAX) { 
+	if (max.sec == TIME_T_MAX) { 
 		next.sec = 0;	
 		next.frac = (uint64_t)1 << (64 - 2);	
 		bintime_add(&next, &now);


More information about the svn-src-projects mailing list