Added separate queue for "system" APCs that get called even when the
thread is not in an alertable state.
Specify the select_request timeout as absolute value so that we can
restart the request when interrupted.
diff --git a/server/timer.c b/server/timer.c
index f4b159f..a76ce41 100644
--- a/server/timer.c
+++ b/server/timer.c
@@ -78,7 +78,7 @@
/* queue an APC */
if (timer->thread)
- thread_queue_apc( timer->thread, &timer->obj, timer->callback, APC_TIMER, 3,
+ thread_queue_apc( timer->thread, &timer->obj, timer->callback, APC_TIMER, 0, 3,
(void *)timer->when.tv_sec, (void *)timer->when.tv_usec, timer->arg );
if (timer->period) /* schedule the next expiration */
@@ -103,7 +103,7 @@
}
if (timer->thread)
{
- thread_cancel_apc( timer->thread, &timer->obj );
+ thread_cancel_apc( timer->thread, &timer->obj, 0 );
timer->thread = NULL;
}
}