| dnl Copyright (C) 1999-2005 Open Source Telecom Corporation. |
| dnl Copyright (C) 2006-2010 David Sugar, Tycho Softworks. |
| dnl |
| dnl This program is free software; you can redistribute it and/or modify |
| dnl it under the terms of the GNU General Public License as published by |
| dnl the Free Software Foundation; either version 2 of the License, or |
| dnl (at your option) any later version. |
| dnl |
| dnl This program is distributed in the hope that it will be useful, |
| dnl but WITHOUT ANY WARRANTY; without even the implied warranty of |
| dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| dnl GNU General Public License for more details. |
| dnl |
| dnl You should have received a copy of the GNU General Public License |
| dnl along with this program; if not, write to the Free Software |
| dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
| dnl |
| dnl As a special exception to the GNU General Public License, if you |
| dnl distribute this file as part of a program that contains a configuration |
| dnl script generated by Autoconf, you may include it under the same |
| dnl distribution terms that you use for the rest of that program. |
| |
| AC_DEFUN([OST_CC_SIGNAL],[ |
| AC_REQUIRE([OST_SYS_POSIX]) |
| AC_CHECK_FUNCS(sigaction) |
| AC_CHECK_FUNCS(setitimer) |
| AC_CHECK_FUNCS(sigwait) |
| AC_CHECK_HEADERS(bsd/signal.h) |
| AC_TYPE_SIGNAL |
| AC_CACHE_CHECK(whether sigwait has 2 arguments, |
| ac_cv_ost_sigwait2, |
| AC_TRY_COMPILE([ |
| #ifndef _POSIX_PTHREAD_SEMANTICS |
| #define _POSIX_PTHREAD_SEMANTICS |
| #endif |
| #ifndef _GNU_SOURCE |
| #define _GNU_SOURCE |
| #endif |
| #include <stdio.h> |
| #include <signal.h> |
| ],[ |
| sigset_t sigs; int signo; sigwait(&sigs, &signo);], |
| ac_cv_ost_sigwait2=yes, |
| ac_cv_ost_sigwait2=no |
| ) |
| ) |
| if test "$ac_cv_ost_sigwait2" = "yes" ; then |
| AC_DEFINE(HAVE_SIGWAIT2, [1], [2 argument form]) |
| fi |
| AH_BOTTOM([ |
| #ifdef HAVE_SIGACTION |
| #ifdef HAVE_BSD_SIGNAL_H |
| #undef HAVE_BSD_SIGNAL_H |
| #endif |
| #endif |
| |
| /* Cause problem with Solaris... and perhaps Digital Unix? |
| However, the autoconf test in ost_signal defines _POSIX_PTHREAD_SEMANTICS |
| when trying to compile sigwait2. */ |
| |
| #ifdef HAVE_SIGWAIT2 |
| #ifndef _POSIX_PTHREAD_SEMANTICS |
| #define _POSIX_PTHREAD_SEMANTICS |
| #endif |
| #endif |
| |
| #ifdef HAVE_BSD_SIGNAL_H |
| #include <bsd/signal.h> |
| #else |
| #include <signal.h> |
| #endif |
| #ifndef SA_ONESHOT |
| #define SA_ONESHOT SA_RESETHAND |
| #endif |
| |
| ]) |
| ]) |