Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
remove gras from the main documentation
[simgrid.git] / src / gras / Msg / timer.c
index 2975778..1fff6ea 100644 (file)
@@ -1,8 +1,7 @@
-/* $Id$ */
-
 /* timer - Delayed and repetitive actions                                   */
 
-/* Copyright (c) 2005 Martin Quinson. All rights reserved.                  */
+/* Copyright (c) 2005, 2006, 2007, 2009, 2010. The SimGrid Team.
+ * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
@@ -20,11 +19,11 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(gras_timer, gras,
 void gras_timer_delay(double delay, void_f_void_t action)
 {
   gras_msg_procdata_t pd =
-    (gras_msg_procdata_t) gras_libdata_by_id(gras_msg_libdata_id);
+      (gras_msg_procdata_t) gras_libdata_by_id(gras_msg_libdata_id);
 
   gras_timer_t timer = xbt_dynar_push_ptr(pd->timers);
 
-  VERB1("Register delayed action %p", action);
+  XBT_VERB("Register delayed action %p", action);
   timer->period = delay;
   timer->expiry = delay + gras_os_time();
   timer->action = action;
@@ -35,11 +34,11 @@ void gras_timer_delay(double delay, void_f_void_t action)
 void gras_timer_repeat(double interval, void_f_void_t action)
 {
   gras_msg_procdata_t pd =
-    (gras_msg_procdata_t) gras_libdata_by_id(gras_msg_libdata_id);
+      (gras_msg_procdata_t) gras_libdata_by_id(gras_msg_libdata_id);
 
   gras_timer_t timer = xbt_dynar_push_ptr(pd->timers);
 
-  VERB1("Register repetitive action %p", action);
+  XBT_VERB("Register repetitive action %p", action);
   timer->period = interval;
   timer->expiry = interval + gras_os_time();
   timer->action = action;
@@ -50,7 +49,7 @@ void gras_timer_repeat(double interval, void_f_void_t action)
 void gras_timer_cancel_delay(double interval, void_f_void_t action)
 {
   gras_msg_procdata_t pd =
-    (gras_msg_procdata_t) gras_libdata_by_id(gras_msg_libdata_id);
+      (gras_msg_procdata_t) gras_libdata_by_id(gras_msg_libdata_id);
   unsigned int cursor;
   int found;
   s_gras_timer_t timer;
@@ -66,7 +65,7 @@ void gras_timer_cancel_delay(double interval, void_f_void_t action)
   }
 
   if (!found)
-    THROW2(mismatch_error, 0,
+    THROWF(mismatch_error, 0,
            "Cannot remove the action %p delayed of %f second: not found",
            action, interval);
 
@@ -76,7 +75,7 @@ void gras_timer_cancel_delay(double interval, void_f_void_t action)
 void gras_timer_cancel_repeat(double interval, void_f_void_t action)
 {
   gras_msg_procdata_t pd =
-    (gras_msg_procdata_t) gras_libdata_by_id(gras_msg_libdata_id);
+      (gras_msg_procdata_t) gras_libdata_by_id(gras_msg_libdata_id);
   unsigned int cursor;
   int found;
   s_gras_timer_t timer;
@@ -92,7 +91,7 @@ void gras_timer_cancel_repeat(double interval, void_f_void_t action)
   }
 
   if (!found)
-    THROW2(mismatch_error, 0,
+    THROWF(mismatch_error, 0,
            "Cannot remove the action %p delayed of %f second: not found",
            action, interval);
 }
@@ -101,7 +100,7 @@ void gras_timer_cancel_repeat(double interval, void_f_void_t action)
 void gras_timer_cancel_delay_all(void)
 {
   gras_msg_procdata_t pd =
-    (gras_msg_procdata_t) gras_libdata_by_id(gras_msg_libdata_id);
+      (gras_msg_procdata_t) gras_libdata_by_id(gras_msg_libdata_id);
   unsigned int cursor;
   int found;
   s_gras_timer_t timer;
@@ -116,7 +115,7 @@ void gras_timer_cancel_delay_all(void)
   }
 
   if (!found)
-    THROW0(mismatch_error, 0, "No delayed action to remove");
+    THROWF(mismatch_error, 0, "No delayed action to remove");
 
 }
 
@@ -124,7 +123,7 @@ void gras_timer_cancel_delay_all(void)
 void gras_timer_cancel_repeat_all(void)
 {
   gras_msg_procdata_t pd =
-    (gras_msg_procdata_t) gras_libdata_by_id(gras_msg_libdata_id);
+      (gras_msg_procdata_t) gras_libdata_by_id(gras_msg_libdata_id);
   unsigned int cursor;
   int found;
   s_gras_timer_t timer;
@@ -139,14 +138,14 @@ void gras_timer_cancel_repeat_all(void)
   }
 
   if (!found)
-    THROW0(mismatch_error, 0, "No repetitive action to remove");
+    THROWF(mismatch_error, 0, "No repetitive action to remove");
 }
 
 /** @brief Cancel all delayed and repetitive tasks */
 void gras_timer_cancel_all(void)
 {
   gras_msg_procdata_t pd =
-    (gras_msg_procdata_t) gras_libdata_by_id(gras_msg_libdata_id);
+      (gras_msg_procdata_t) gras_libdata_by_id(gras_msg_libdata_id);
   xbt_dynar_reset(pd->timers);
 }
 
@@ -155,7 +154,7 @@ void gras_timer_cancel_all(void)
 double gras_msg_timer_handle(void)
 {
   gras_msg_procdata_t pd =
-    (gras_msg_procdata_t) gras_libdata_by_id(gras_msg_libdata_id);
+      (gras_msg_procdata_t) gras_libdata_by_id(gras_msg_libdata_id);
   unsigned int cursor;
   gras_timer_t timer;
   double now = gras_os_time();
@@ -167,25 +166,26 @@ double gras_msg_timer_handle(void)
     timer = xbt_dynar_get_ptr(pd->timers, cursor);
     untilthis = timer->expiry - now;
 
-    DEBUG2("Action %p expires in %f", timer->action, untilthis);
+    XBT_DEBUG("Action %p expires in %f", timer->action, untilthis);
 
     if (untilthis <= 0.0) {
       void_f_void_t action = timer->action;
 
-      DEBUG5("[%.0f] Serve %s action %p (%f<%f)", gras_os_time(),
+      XBT_DEBUG("[%.0f] Serve %s action %p (%f<%f)", gras_os_time(),
              timer->repeat ? "repetitive" : "delayed", timer->action,
              timer->expiry, now);
 
       if (timer->repeat) {
         timer->expiry = now + timer->period;
-        DEBUG4("[%.0f] Re-arm repetitive action %p for %f (period=%f)",
-               gras_os_time(), timer->action, timer->expiry, timer->period);
+        XBT_DEBUG("[%.0f] Re-arm repetitive action %p for %f (period=%f)",
+               gras_os_time(), timer->action, timer->expiry,
+               timer->period);
       } else {
-        DEBUG2("[%.0f] Remove %p now that it's done", gras_os_time(),
+        XBT_DEBUG("[%.0f] Remove %p now that it's done", gras_os_time(),
                timer->action);
         xbt_dynar_cursor_rm(pd->timers, &cursor);
       }
-      (*action) ();
+      action();
       return 0.0;
     } else if (untilthis < untilnext || untilnext == -1) {
       untilnext = untilthis;