X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/69037d5a1c5c2e146de270b926d89fc72de601f7..eddd51c2807805e47aa70008234111b601e9a050:/src/syssignal.h diff --git a/src/syssignal.h b/src/syssignal.h index 25ef1c0292..b7e646a278 100644 --- a/src/syssignal.h +++ b/src/syssignal.h @@ -5,7 +5,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 1, or (at your option) +the Free Software Foundation; either version 2, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, @@ -15,11 +15,12 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ #ifdef POSIX_SIGNALS -/* Don't #include . That header shouldalways be #included +/* Don't #include . That header should always be #included before "config.h", because some configuration files (like s/hpux.h) indicate that SIGIO doesn't work by #undef-ing SIGIO. If this file #includes , then that will re-#define SIGIO and confuse @@ -51,19 +52,23 @@ extern sigset_t sys_sigmask (); #define sigpause(SIG) sys_sigpause (SIG) #define sigblock(SIG) sys_sigblock (SIG) #define sigunblock(SIG) sys_sigunblock (SIG) +#ifndef sigsetmask #define sigsetmask(SIG) sys_sigsetmask (SIG) +#endif #define sighold(SIG) ONLY_USED_IN_BSD_4_1 #define sigrelse(SIG) ONLY_USED_IN_BSD_4_1 +#undef signal +#define signal(SIG,ACT) sys_signal(SIG,ACT) /* Whether this is what all systems want or not, this is what appears to be assumed in the source, for example data.c:arith_error. */ -typedef RETSIGTYPE (*signal_handler_t) (int); +typedef RETSIGTYPE (*signal_handler_t) (/*int*/); -signal_handler_t sys_signal (int signal_number, signal_handler_t action); -int sys_sigpause (sigset_t new_mask); -sigset_t sys_sigblock (sigset_t new_mask); -sigset_t sys_sigunblock (sigset_t new_mask); -sigset_t sys_sigsetmask (sigset_t new_mask); +signal_handler_t sys_signal (/*int signal_number, signal_handler_t action*/); +int sys_sigpause (/*sigset_t new_mask*/); +sigset_t sys_sigblock (/*sigset_t new_mask*/); +sigset_t sys_sigunblock (/*sigset_t new_mask*/); +sigset_t sys_sigsetmask (/*sigset_t new_mask*/); #define sys_sigdel(MASK,SIG) sigdelset (&MASK,SIG) @@ -71,7 +76,7 @@ sigset_t sys_sigsetmask (sigset_t new_mask); #ifdef USG5_4 #ifndef sigblock -#define sigblock(sig) (sigprocmask (SIG_BLOCK, SIGEMPTYMASK & sig, NULL)) +#define sigblock(sig) (sigprocmask (SIG_BLOCK, SIGEMPTYMASK | sig, NULL)) #endif #define sigunblock(sig) (sigprocmask (SIG_SETMASK, SIGFULLMASK & ~(sig), NULL)) @@ -111,31 +116,26 @@ sigset_t sys_sigsetmask (sigset_t new_mask); { SIGMASKTYPE omask = sigblock (SIGFULLMASK); sigsetmask (omask & ~SIG); } #endif -/* It would be very nice if we could somehow clean up all this trash. */ - #ifndef BSD4_1 #define sigfree() sigsetmask (SIGEMPTYMASK) -#define sigholdx(sig) sigsetmask (sigmask (sig)) -#define sigblockx(sig) sigblock (sigmask (sig)) -#define sigunblockx(sig) sigblock (SIGEMPTYMASK) -#define sigpausex(sig) sigpause (0) -#endif /* BSD4_1 */ +#endif /* not BSD4_1 */ #ifdef BSD4_1 #define SIGIO SIGTINT -/* sigfree and sigholdx are in sysdep.c */ -#define sigblockx(sig) sighold (sig) -#define sigunblockx(sig) sigrelse (sig) -#define sigpausex(sig) sigpause (sig) -#endif /* ! defined (BSD4_1) */ +/* sigfree is in sysdep.c */ +#endif /* BSD4_1 */ /* On bsd, [man says] kill does not accept a negative number to kill a pgrp. Must do that using the killpg call. */ -#ifdef BSD +#ifdef BSD_SYSTEM #define EMACS_KILLPG(gid, signo) (killpg ( (gid), (signo))) #else +#ifdef WINDOWSNT +#define EMACS_KILLPG(gid, signo) (kill (gid, signo)) +#else #define EMACS_KILLPG(gid, signo) (kill (-(gid), (signo))) #endif +#endif /* Define SIGCHLD as an alias for SIGCLD. There are many conditionals testing SIGCHLD. */