summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changes1
-rw-r--r--ev.c8
2 files changed, 5 insertions, 4 deletions
diff --git a/Changes b/Changes
index 9f282dd..58cfabf 100644
--- a/Changes
+++ b/Changes
@@ -3,6 +3,7 @@ Revision history for libev, a high-performance and full-featured event loop.
3.2
- fix a 64 bit overflow issue in the select backend,
by using fd_mask instead of int for the mask.
+ - rename internal sighandler to avoid clash with very old perls.
3.1 Thu Mar 13 13:45:22 CET 2008
- implement ev_async watchers.
diff --git a/ev.c b/ev.c
index 993f8a5..d04a6be 100644
--- a/ev.c
+++ b/ev.c
@@ -867,14 +867,14 @@ pipecb (EV_P_ ev_io *iow, int revents)
/*****************************************************************************/
static void
-sighandler (int signum)
+ev_sighandler (int signum)
{
#if EV_MULTIPLICITY
struct ev_loop *loop = &default_loop_struct;
#endif
#if _WIN32
- signal (signum, sighandler);
+ signal (signum, ev_sighandler);
#endif
signals [signum - 1].gotsig = 1;
@@ -1932,10 +1932,10 @@ ev_signal_start (EV_P_ ev_signal *w)
if (!((WL)w)->next)
{
#if _WIN32
- signal (w->signum, sighandler);
+ signal (w->signum, ev_sighandler);
#else
struct sigaction sa;
- sa.sa_handler = sighandler;
+ sa.sa_handler = ev_sighandler;
sigfillset (&sa.sa_mask);
sa.sa_flags = SA_RESTART; /* if restarting works we save one iteration */
sigaction (w->signum, &sa, 0);