summaryrefslogtreecommitdiff
path: root/src/glut/glx/glut_event.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2007-09-19 11:05:36 -0700
committerEric Anholt <eric@anholt.net>2007-09-20 09:04:20 -0700
commit4f1c9f7e510122b32c82ee9adbdb4987dae27afe (patch)
tree30cb409cf46cd11a6a14178985f7c69468e5b0f9 /src/glut/glx/glut_event.c
parente3745dac59602a9d21b49d602646de5aef95075f (diff)
parent45899a494c578d406b29e5ee17c0f1b6bf12c2de (diff)
Merge branch 'master' into i915-unification
Conflicts: src/mesa/drivers/dri/common/dri_drmpool.c src/mesa/drivers/dri/i915tex/i915_vtbl.c src/mesa/drivers/dri/i915tex/intel_batchbuffer.c src/mesa/drivers/dri/i915tex/intel_context.c
Diffstat (limited to 'src/glut/glx/glut_event.c')
-rw-r--r--src/glut/glx/glut_event.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/glut/glx/glut_event.c b/src/glut/glx/glut_event.c
index 4e67da674e..b5df7b2311 100644
--- a/src/glut/glx/glut_event.c
+++ b/src/glut/glx/glut_event.c
@@ -24,7 +24,7 @@
# ifdef __sgi
# include <bstring.h> /* prototype for bzero used by FD_ZERO */
# endif
-# if (defined(SVR4) || defined(CRAY) || defined(AIXV3)) && !defined(FD_SETSIZE)
+# if (defined(__FreeBSD__) || defined(SVR4) || defined(CRAY) || defined(AIXV3)) && !defined(FD_SETSIZE)
# include <sys/select.h> /* select system call interface */
# ifdef luna
# include <sysent.h>
@@ -172,10 +172,14 @@ handleTimeouts(void)
GETTIMEOFDAY(&now);
while (IS_AT_OR_AFTER(__glutTimerList->timeout, now)) {
timer = __glutTimerList;
- __glutTimerList = timer->next;
+ /* call the timer function */
timer->func(timer->value);
+ /* remove from the linked list */
+ __glutTimerList = timer->next;
+ /* put this timer on the "free" list */
timer->next = freeTimerList;
freeTimerList = timer;
+
if (!__glutTimerList)
break;
}