diff --git a/ldb/interrupt.c b/ldb/interrupt.c index c680c05f7175e5e44eff7efe3521e3d2c723274d..fd1058188430352bf556bdfc0e6bcf9948c02d46 100644 --- a/ldb/interrupt.c +++ b/ldb/interrupt.c @@ -1,4 +1,4 @@ -/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/ldb/Attic/interrupt.c,v 1.13 1990/11/03 16:32:44 wlott Exp $ */ +/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/ldb/Attic/interrupt.c,v 1.14 1990/11/24 07:45:50 wlott Exp $ */ /* Interrupt handing magic. */ @@ -333,7 +333,7 @@ struct sigcontext *context; unsigned long install_handler(signal, handler) int signal; -union interrupt_handler handler; +int (*handler)(); { struct sigvec sv; int oldmask; @@ -347,8 +347,8 @@ union interrupt_handler handler; else if (signal == SIGBUS) sv.sv_handler = sigbus_handler; #endif - else if (handler.c == SIG_DFL || handler.c == SIG_IGN) - sv.sv_handler = handler.c; + else if (handler == SIG_DFL || handler == SIG_IGN) + sv.sv_handler = handler; else if (sigmask(signal)&BLOCKABLE) sv.sv_handler = maybe_now_maybe_later; else @@ -359,7 +359,7 @@ union interrupt_handler handler; oldmask = sigblock(sigmask(signal)); oldhandler = interrupt_handlers[signal]; - interrupt_handlers[signal] = handler; + interrupt_handlers[signal].c = handler; sigvec(signal, &sv, NULL); sigsetmask(oldmask);