From: Richard M. Stallman Date: Sat, 15 Jan 1994 13:04:09 +0000 (+0000) Subject: (request_sigio, unrequest_sigio): Add new versions of X-Git-Tag: emacs-19.34~10257 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=25ab68afb8ba0d34dd868208e4fe19ea4a2f8cc7;p=emacs.git (request_sigio, unrequest_sigio): Add new versions of these routines for the CX/UX operating system. (sys_signal) [SA_RESTART]: Set this flag. --- diff --git a/src/sysdep.c b/src/sysdep.c index 23376cb9bce..68d3d5463db 100644 --- a/src/sysdep.c +++ b/src/sysdep.c @@ -791,6 +791,32 @@ unrequest_sigio () #else /* not FASYNC, not STRIDE */ +#ifdef _CX_UX + +#include + +request_sigio () +{ + int on = 1; + sigset_t st; + + sigemptyset(&st); + sigaddset(&st, SIGIO); + ioctl (input_fd, FIOASYNC, &on); + interrupts_deferred = 0; + sigprocmask(SIG_UNBLOCK, &st, (sigset_t *)0); +} + +unrequest_sigio () +{ + int off = 0; + + ioctl (input_fd, FIOASYNC, &off); + interrupts_deferred = 1; +} + +#else /* ! _CX_UX */ + request_sigio () { croak ("request_sigio"); @@ -801,6 +827,7 @@ unrequest_sigio () croak ("unrequest_sigio"); } +#endif /* _CX_UX */ #endif /* STRIDE */ #endif /* FASYNC */ #endif /* F_SETFL */ @@ -2337,7 +2364,14 @@ sys_signal (int signal_number, signal_handler_t action) #else sigemptyset (&new_action.sa_mask); new_action.sa_handler = action; +#ifdef SA_RESTART + /* Emacs mostly works better with restartable system services. If this + * flag exists, we probably want to turn it on here. + */ + new_action.sa_flags = SA_RESTART; +#else new_action.sa_flags = 0; +#endif sigaction (signal_number, &new_action, &old_action); return (old_action.sa_handler); #endif /* DGUX */