From 6bf117656574521545694a1a4e5169755077631e Mon Sep 17 00:00:00 2001 From: fcolin Date: Wed, 19 Apr 2006 08:28:14 +0000 Subject: correction de probleme potentiel en multithread ( Ada rejeu ) ajout d'un warning en cas de client bloquant si la varaiable d'env IVY_DEBUG_SEND est positionne --- src/timer.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'src/timer.c') diff --git a/src/timer.c b/src/timer.c index f147232..565271e 100644 --- a/src/timer.c +++ b/src/timer.c @@ -103,18 +103,16 @@ TimerId TimerRepeatAfter( int count, long time, TimerCb cb, void *user_data ) /* si y a rien a faire et ben on fait rien */ if ( cb == NULL ) return NULL; - IVY_LIST_ADD( timers, timer ) - if ( timer ) - { - timer->repeat = count; - timer->callback = cb; - timer->user_data = user_data; - stamp = currentTime(); - timer->period = time; - timer->when = stamp + time; - if ( (timer->when < nextTimeout) || (timeoutptr == NULL)) - SetNewTimeout( stamp, timer->when ); - } + IVY_LIST_ADD_START( timers, timer ) + timer->repeat = count; + timer->callback = cb; + timer->user_data = user_data; + stamp = currentTime(); + timer->period = time; + timer->when = stamp + time; + if ( (timer->when < nextTimeout) || (timeoutptr == NULL)) + SetNewTimeout( stamp, timer->when ); + IVY_LIST_ADD_END( timers, timer ) return timer; } void TimerRemove( TimerId timer ) -- cgit v1.1