831151a03f
previous maintainer ok).
31 lines
1.1 KiB
Plaintext
31 lines
1.1 KiB
Plaintext
$OpenBSD: patch-timer_c,v 1.1 2012/04/22 21:44:24 sthen Exp $
|
|
--- timer.c.orig Sun Feb 5 00:24:53 2012
|
|
+++ timer.c Sun Feb 5 00:33:11 2012
|
|
@@ -337,7 +337,7 @@ again:
|
|
strerror(errno), errno);
|
|
goto error;
|
|
}
|
|
-#ifdef __OS_darwin
|
|
+#if defined(__OS_darwin) || defined(__OpenBSD__)
|
|
/* workaround for darwin sigwait bug, see slow_timer_main() for more
|
|
info (or grep __OS_darwin) */
|
|
/* keep in sync wih main.c: sig_usr() - signals we are interested in */
|
|
@@ -1090,7 +1090,7 @@ ticks_t get_ticks()
|
|
* -it increments *s_idx (at the end it will be == *t_idx)
|
|
* -all list operations are protected by the "slow" timer lock
|
|
*/
|
|
-#ifdef __OS_darwin
|
|
+#if defined(__OS_darwin) || defined(__OpenBSD__)
|
|
extern void sig_usr(int signo);
|
|
#endif
|
|
|
|
@@ -1120,7 +1120,7 @@ void slow_timer_main()
|
|
}
|
|
#ifdef USE_SIGWAIT
|
|
if (sig!=SLOW_TIMER_SIG){
|
|
-#ifdef __OS_darwin
|
|
+#if defined(__OS_darwin) || defined(__OpenBSD__)
|
|
/* on darwin sigwait is buggy: it will cause extreme slow down
|
|
on signal delivery for the signals it doesn't wait on
|
|
(on darwin 8.8.0, g4 1.5Ghz I've measured a 36s delay!).
|