X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/74c5de07784abf609331bcf7242145cc4affdaab..02e84b1e918a6f06799ee08e74320aae45433115:/src/simix/smx_global.cpp diff --git a/src/simix/smx_global.cpp b/src/simix/smx_global.cpp index 2485979cdc..108ba80fea 100644 --- a/src/simix/smx_global.cpp +++ b/src/simix/smx_global.cpp @@ -124,14 +124,7 @@ static void install_segvhandler() namespace simgrid { namespace simix { -Timer* Timer::set(double date, void (*callback)(void*), void* arg) -{ - Timer* timer = new Timer(date, simgrid::xbt::make_task([callback, arg]() { callback(arg); })); - timer->handle_ = simix_timers.emplace(std::make_pair(date, timer)); - return timer; -} - -Timer* Timer::set(double date, simgrid::xbt::Task callback) +Timer* Timer::set(double date, simgrid::xbt::Task&& callback) { Timer* timer = new Timer(date, std::move(callback)); timer->handle_ = simix_timers.emplace(std::make_pair(date, timer)); @@ -545,14 +538,12 @@ double SIMIX_timer_next() smx_timer_t SIMIX_timer_set(double date, void (*callback)(void*), void *arg) { - return simgrid::simix::Timer::set(date, callback, arg); + return simgrid::simix::Timer::set(date, std::bind(callback, arg)); } -smx_timer_t SIMIX_timer_set(double date, simgrid::xbt::Task callback) +smx_timer_t SIMIX_timer_set(double date, simgrid::xbt::Task&& callback) // deprecated { - smx_timer_t timer = new simgrid::simix::Timer(date, std::move(callback)); - timer->handle_ = simgrid::simix::simix_timers.emplace(std::make_pair(date, timer)); - return timer; + return simgrid::simix::Timer::set(date, std::move(callback)); } /** @brief cancels a timer that was added earlier */