openbsd-ports/telephony/kamailio/patches/patch-timer_c
2012-04-22 21:44:24 +00:00

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!).