X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4a201b7ceece70d2bc461ac48c8b746a36d07243..78d9b3dfb63366dcaa3c157454de03a30e7ba099:/src/gras/Msg/timer.c diff --git a/src/gras/Msg/timer.c b/src/gras/Msg/timer.c index b301735119..3c97260740 100644 --- a/src/gras/Msg/timer.c +++ b/src/gras/Msg/timer.c @@ -1,6 +1,7 @@ /* 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. */ @@ -18,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; @@ -33,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; @@ -48,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; @@ -64,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); @@ -74,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; @@ -90,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); } @@ -99,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; @@ -114,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"); } @@ -122,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; @@ -137,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); } @@ -153,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(); @@ -165,21 +166,22 @@ 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); }