move olsr_times() into scheduler.[ch] - now_times is also there
authorBernd Petrovitsch <bernd@firmix.at>
Fri, 31 Oct 2008 23:26:59 +0000 (00:26 +0100)
committerBernd Petrovitsch <bernd@firmix.at>
Fri, 31 Oct 2008 23:26:59 +0000 (00:26 +0100)
src/defs.h
src/main.c
src/scheduler.c
src/scheduler.h

index 86faa2d..c6ceb3f 100644 (file)
@@ -125,15 +125,6 @@ enum app_state {
 
 extern volatile enum app_state app_state;
 
-/*
- * a wrapper around times(2). times(2) has the problem, that it may return -1
- * in case of an err (e.g. EFAULT on the parameter) or immediately before an
- * overrun (though it is not en error) just because the jiffies (or whatever
- * the underlying kernel calls the smallest accountable time unit) are
- * inherently "unsigned" (and always incremented).
- */
-unsigned long olsr_times(void);
-
 #endif
 
 /*
index 966de25..e3da192 100644 (file)
@@ -141,9 +141,9 @@ main(int argc, char *argv[])
   /* Open syslog */
   olsr_openlog("olsrd");
 
-  /* Grab initial timestamp */
-  now_times = olsr_times();
-    
+  /* Initialize timers and scheduler part */
+  olsr_init_timers();
+
   printf("\n *** %s ***\n Build date: %s on %s\n http://www.olsr.org\n\n", 
         olsrd_version, 
         build_date,
@@ -216,9 +216,6 @@ main(int argc, char *argv[])
   /* Initialize net */
   init_net();
 
-  /* Initialize timers */
-  olsr_init_timers();
-
   /*
    * Process olsrd options.
    */
@@ -839,20 +836,6 @@ olsr_process_arguments(int argc, char *argv[],
   return 0;
 }
 
-/*
- * a wrapper around times(2). times(2) has the problem, that it may return -1
- * in case of an err (e.g. EFAULT on the parameter) or immediately before an
- * overrun (though it is not en error) just because the jiffies (or whatever
- * the underlying kernel calls the smallest accountable time unit) are
- * inherently "unsigned" (and always incremented).
- */
-unsigned long olsr_times(void)
-{
-  struct tms tms_buf;
-  const long t = times(&tms_buf);
-  return t < 0 ? -errno : t;
-}
-
 /*
  * Local Variables:
  * c-basic-offset: 2
index a0a1a05..beb8dbb 100644 (file)
@@ -494,6 +494,9 @@ olsr_init_timers(void)
 
   OLSR_PRINTF(5, "TIMER: init timers\n");
 
+  /* Grab initial timestamp */
+  now_times = olsr_times();
+    
   for (idx = 0; idx < TIMER_WHEEL_SLOTS; idx++) {
     list_head_init(&timer_wheel[idx]);
   }
@@ -907,6 +910,21 @@ olsr_set_timer(struct timer_entry **timer_ptr, unsigned int rel_time,
   }
 }
 
+/*
+ * a wrapper around times(2). times(2) has the problem, that it may return -1
+ * in case of an err (e.g. EFAULT on the parameter) or immediately before an
+ * overrun (though it is not en error) just because the jiffies (or whatever
+ * the underlying kernel calls the smallest accountable time unit) are
+ * inherently "unsigned" (and always incremented).
+ */
+unsigned long olsr_times(void)
+{
+  struct tms tms_buf;
+  const long t = times(&tms_buf);
+  return t < 0 ? -errno : t;
+}
+
+
 /*
  * Local Variables:
  * c-basic-offset: 2
index 33aa610..d8c62c4 100644 (file)
@@ -154,6 +154,15 @@ int remove_olsr_socket(int fd, socket_handler_func pf_pr, socket_handler_func pf
 void enable_olsr_socket(int fd, socket_handler_func pf_pr, socket_handler_func pf_imm, unsigned int flags);
 void disable_olsr_socket(int fd, socket_handler_func pf_pr, socket_handler_func pf_imm, unsigned int flags);
 
+/*
+ * a wrapper around times(2). times(2) has the problem, that it may return -1
+ * in case of an err (e.g. EFAULT on the parameter) or immediately before an
+ * overrun (though it is not en error) just because the jiffies (or whatever
+ * the underlying kernel calls the smallest accountable time unit) are
+ * inherently "unsigned" (and always incremented).
+ */
+unsigned long olsr_times(void);
+
 
 #endif