X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/59ce725a3b68cbc324f01bc8dc5f9e07286431d1..bff3818b73bda256f361f8dd57363ef309267786:/src/syssignal.h diff --git a/src/syssignal.h b/src/syssignal.h index 53877ca107..64dacc671c 100644 --- a/src/syssignal.h +++ b/src/syssignal.h @@ -1,13 +1,13 @@ /* syssignal.h - System-dependent definitions for signals. Copyright (C) 1993, 1999, 2001, 2002, 2003, 2004, - 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GNU Emacs. -GNU Emacs is free software; you can redistribute it and/or modify +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 3, or (at your option) -any later version. +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -15,14 +15,18 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 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, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ +along with GNU Emacs. If not, see . */ extern void init_signals P_ ((void)); -#ifdef HAVE_GTK_AND_PTHREAD +#if defined (HAVE_GTK_AND_PTHREAD) || defined (HAVE_NS) #include +/* If defined, asynchronous signals delivered to a non-main thread are + forwarded to the main thread. */ +#define FORWARD_SIGNAL_TO_MAIN_THREAD +#endif + +#ifdef FORWARD_SIGNAL_TO_MAIN_THREAD extern pthread_t main_thread; #endif @@ -139,9 +143,7 @@ extern SIGMASKTYPE sigprocmask_set; { SIGMASKTYPE omask = sigblock (SIGFULLMASK); sigsetmask (omask & ~SIG); } #endif -#ifndef BSD4_1 #define sigfree() sigsetmask (SIGEMPTYMASK) -#endif /* not BSD4_1 */ #if defined (SIGINFO) && defined (BROKEN_SIGINFO) #undef SIGINFO @@ -176,11 +178,6 @@ extern SIGMASKTYPE sigprocmask_set; # define NSIG NSIG_MINIMUM #endif -#ifdef BSD4_1 -#define SIGIO SIGTINT -/* 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_SYSTEM @@ -195,20 +192,18 @@ extern SIGMASKTYPE sigprocmask_set; /* Define SIGCHLD as an alias for SIGCLD. There are many conditionals testing SIGCHLD. */ -#ifndef VMS #ifdef SIGCLD #ifndef SIGCHLD #define SIGCHLD SIGCLD #endif /* SIGCHLD */ #endif /* ! defined (SIGCLD) */ -#endif /* VMS */ #ifndef HAVE_STRSIGNAL /* strsignal is in sysdep.c */ char *strsignal (); #endif -#ifdef HAVE_GTK_AND_PTHREAD +#ifdef FORWARD_SIGNAL_TO_MAIN_THREAD #define SIGNAL_THREAD_CHECK(signo) \ do { \ if (!pthread_equal (pthread_self (), main_thread)) \ @@ -227,8 +222,8 @@ char *strsignal (); } \ } while (0) -#else /* not HAVE_GTK_AND_PTHREAD */ +#else /* not FORWARD_SIGNAL_TO_MAIN_THREAD */ #define SIGNAL_THREAD_CHECK(signo) -#endif /* not HAVE_GTK_AND_PTHREAD */ +#endif /* not FORWARD_SIGNAL_TO_MAIN_THREAD */ /* arch-tag: 4580e86a-340d-4574-9e11-a742b6e1a152 (do not change this comment) */