mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 11:50:28 +02:00
Presumes signal handler return void
Since Guile requires a C99 compiler, we can rely on signal handlers returning void, not int. * configure.ac: remove AC_TYPE_SIGNAL * libguile/scmsigs.c (SIGRETTYPE): remove SIGRETTYPE (take_signal): returns void (scm_sigaction_for_thread): presumes handlers return void
This commit is contained in:
parent
52ea50e9c6
commit
c0feb578fb
2 changed files with 7 additions and 18 deletions
|
@ -444,7 +444,6 @@ AC_CHECK_TYPE(socklen_t, ,
|
||||||
AC_CHECK_TYPES([struct ip_mreq], , , [#include <netinet/in.h>])
|
AC_CHECK_TYPES([struct ip_mreq], , , [#include <netinet/in.h>])
|
||||||
|
|
||||||
AC_TYPE_GETGROUPS
|
AC_TYPE_GETGROUPS
|
||||||
AC_TYPE_SIGNAL
|
|
||||||
AC_TYPE_MODE_T
|
AC_TYPE_MODE_T
|
||||||
|
|
||||||
dnl Check whether we need -lm.
|
dnl Check whether we need -lm.
|
||||||
|
|
|
@ -60,16 +60,6 @@
|
||||||
#include "scmsigs.h"
|
#include "scmsigs.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* SIGRETTYPE is the type that signal handlers return. See <signal.h> */
|
|
||||||
|
|
||||||
#ifdef RETSIGTYPE
|
|
||||||
# define SIGRETTYPE RETSIGTYPE
|
|
||||||
#else
|
|
||||||
# define SIGRETTYPE void
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* take_signal is installed as the C signal handler whenever a Scheme
|
/* take_signal is installed as the C signal handler whenever a Scheme
|
||||||
|
@ -108,7 +98,7 @@ static scm_i_pthread_mutex_t signal_delivery_thread_mutex =
|
||||||
#ifdef HAVE_SIGACTION
|
#ifdef HAVE_SIGACTION
|
||||||
static struct sigaction orig_handlers[NSIG];
|
static struct sigaction orig_handlers[NSIG];
|
||||||
#else
|
#else
|
||||||
static SIGRETTYPE (*orig_handlers[NSIG])(int);
|
static void (*orig_handlers[NSIG])(int);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static SCM
|
static SCM
|
||||||
|
@ -130,7 +120,7 @@ close_1 (SCM proc, SCM arg)
|
||||||
|
|
||||||
static int signal_pipe[2];
|
static int signal_pipe[2];
|
||||||
|
|
||||||
static SIGRETTYPE
|
static void
|
||||||
take_signal (int signum)
|
take_signal (int signum)
|
||||||
{
|
{
|
||||||
int old_errno = errno;
|
int old_errno = errno;
|
||||||
|
@ -235,7 +225,7 @@ scm_i_ensure_signal_delivery_thread ()
|
||||||
|
|
||||||
#else /* !SCM_USE_PTHREAD_THREADS */
|
#else /* !SCM_USE_PTHREAD_THREADS */
|
||||||
|
|
||||||
static SIGRETTYPE
|
static void
|
||||||
take_signal (int signum)
|
take_signal (int signum)
|
||||||
{
|
{
|
||||||
SCM cell = SCM_SIMPLE_VECTOR_REF (signal_handler_asyncs, signum);
|
SCM cell = SCM_SIMPLE_VECTOR_REF (signal_handler_asyncs, signum);
|
||||||
|
@ -321,8 +311,8 @@ SCM_DEFINE (scm_sigaction_for_thread, "sigaction", 1, 3, 0,
|
||||||
struct sigaction action;
|
struct sigaction action;
|
||||||
struct sigaction old_action;
|
struct sigaction old_action;
|
||||||
#else
|
#else
|
||||||
SIGRETTYPE (* chandler) (int) = SIG_DFL;
|
void (* chandler) (int) = SIG_DFL;
|
||||||
SIGRETTYPE (* old_chandler) (int);
|
void (* old_chandler) (int);
|
||||||
#endif
|
#endif
|
||||||
int query_only = 0;
|
int query_only = 0;
|
||||||
int save_handler = 0;
|
int save_handler = 0;
|
||||||
|
@ -359,9 +349,9 @@ SCM_DEFINE (scm_sigaction_for_thread, "sigaction", 1, 3, 0,
|
||||||
if (handler_int == (long) SIG_DFL || handler_int == (long) SIG_IGN)
|
if (handler_int == (long) SIG_DFL || handler_int == (long) SIG_IGN)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_SIGACTION
|
#ifdef HAVE_SIGACTION
|
||||||
action.sa_handler = (SIGRETTYPE (*) (int)) handler_int;
|
action.sa_handler = (void (*) (int)) handler_int;
|
||||||
#else
|
#else
|
||||||
chandler = (SIGRETTYPE (*) (int)) handler_int;
|
chandler = (void (*) (int)) handler_int;
|
||||||
#endif
|
#endif
|
||||||
install_handler (csig, SCM_BOOL_F, SCM_BOOL_F);
|
install_handler (csig, SCM_BOOL_F, SCM_BOOL_F);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue