diff options
author | fcolin | 2006-04-19 08:28:14 +0000 |
---|---|---|
committer | fcolin | 2006-04-19 08:28:14 +0000 |
commit | 6bf117656574521545694a1a4e5169755077631e (patch) | |
tree | f18c164c217e2279781a3af9851b644da97dfba1 /src/timer.c | |
parent | ca9eddefaec96a20b88b9aba25a9384037317c91 (diff) | |
download | ivy-c-6bf117656574521545694a1a4e5169755077631e.zip ivy-c-6bf117656574521545694a1a4e5169755077631e.tar.gz ivy-c-6bf117656574521545694a1a4e5169755077631e.tar.bz2 ivy-c-6bf117656574521545694a1a4e5169755077631e.tar.xz |
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
Diffstat (limited to 'src/timer.c')
-rw-r--r-- | src/timer.c | 22 |
1 files changed, 10 insertions, 12 deletions
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 ) |