wdvi

network DVI viewer
Log | Files | Refs

commit a4cd1c832b934e75a93dd701b2b5bb68917d0ae3
parent 6db993320600ae0c1c2ad1d26cf48272577b0bff
Author: Kyle Milz <krwmilz@gmail.com>
Date:   Thu, 19 Aug 2021 20:08:39 +0000

assume we have sigaction

Diffstat:
Mevents.c | 47+----------------------------------------------
1 file changed, 1 insertion(+), 46 deletions(-)

diff --git a/events.c b/events.c @@ -100,14 +100,6 @@ NOTE: #endif /* not FLAKY_SIGPOLL */ -#if HAVE_SIGACTION && !defined SA_RESETHAND -# ifdef SA_ONESHOT -# define SA_RESETHAND SA_ONESHOT -# else -# undef HAVE_SIGACTION /* Needed for Mac OS X < 10.2 (9/2002) */ -# endif -#endif - #include <poll.h> #include <errno.h> @@ -2880,9 +2872,6 @@ handle_sigpoll(signo) event_counter = 1; event_freq = -1; /* forget Plan B */ sig_flags |= SF_POLL; -#if !HAVE_SIGACTION - (void) signal(SIGPOLL, handle_sigpoll); /* reset the signal */ -#endif } #endif /* not FLAKY_SIGPOLL */ @@ -2929,12 +2918,9 @@ enable_intr() { #ifndef FLAKY_SIGPOLL int sock_fd = ConnectionNumber(DISP); #endif -#if HAVE_SIGACTION struct sigaction a; -#endif #ifndef FLAKY_SIGPOLL -#if HAVE_SIGACTION /* Subprocess handling, e.g., MakeTeXPK, fails on the Alpha without this, because SIGPOLL interrupts the call of system(3), since OSF/1 doesn't retry interrupted wait calls by default. From code by @@ -2944,14 +2930,10 @@ enable_intr() { (void) sigaddset(&a.sa_mask, SIGPOLL); a.sa_flags = SA_RESTART; sigaction(SIGPOLL, &a, NULL); -#else /* not HAVE_SIGACTION */ - (void) signal(SIGPOLL, handle_sigpoll); -#endif /* not HAVE_SIGACTION */ prep_fd(sock_fd, False); #endif /* not FLAKY_SIGPOLL */ -#if HAVE_SIGACTION a.sa_handler = handle_sigterm; (void) sigemptyset(&a.sa_mask); (void) sigaddset(&a.sa_mask, SIGINT); @@ -2963,42 +2945,24 @@ enable_intr() { sigaction(SIGQUIT, &a, NULL); sigaction(SIGTERM, &a, NULL); sigaction(SIGHUP, &a, NULL); -#else /* not HAVE_SIGACTION */ - (void) signal(SIGINT, handle_sigterm); - (void) signal(SIGQUIT, handle_sigterm); - (void) signal(SIGTERM, handle_sigterm); - (void) signal(SIGHUP, handle_sigterm); -#endif /* not HAVE_SIGACTION */ - -#if HAVE_SIGACTION + a.sa_handler = handle_sigchld; (void) sigemptyset(&a.sa_mask); (void) sigaddset(&a.sa_mask, SIGCHLD); a.sa_flags = 0; sigaction(SIGCHLD, &a, NULL); -#else /* not HAVE_SIGACTION */ - (void) signal(SIGCHLD, handle_sigchld); -#endif /* not HAVE_SIGACTION */ -#if HAVE_SIGACTION a.sa_handler = handle_sigalrm; (void) sigemptyset(&a.sa_mask); (void) sigaddset(&a.sa_mask, SIGALRM); a.sa_flags = 0; sigaction(SIGALRM, &a, NULL); -#else /* not HAVE_SIGACTION */ - (void) signal(SIGALRM, handle_sigalrm); -#endif /* not HAVE_SIGACTION */ -#if HAVE_SIGACTION a.sa_handler = handle_sigusr; (void) sigemptyset(&a.sa_mask); (void) sigaddset(&a.sa_mask, SIGUSR1); a.sa_flags = 0; sigaction(SIGUSR1, &a, NULL); -#else /* not HAVE_SIGACTION */ - (void) signal(SIGUSR1, handle_sigusr); -#endif /* not HAVE_SIGACTION */ (void) sigemptyset(&all_signals); (void) sigaddset(&all_signals, SIGPOLL); @@ -3060,9 +3024,6 @@ do_sigchld() sig_flags &= ~SF_CHLD; -#if ! HAVE_SIGACTION - (void) signal(SIGCHLD, handle_sigchld); /* reset the signal */ -#endif for (;;) { #if HAVE_WAITPID pid = waitpid(-1, &status, WNOHANG); @@ -3291,9 +3252,6 @@ do_sigalrm() struct timeval now; sig_flags &= ~SF_ALRM; -#if !HAVE_SIGACTION - (void) signal(SIGALRM, handle_sigalrm); /* reset the signal */ -#endif gettimeofday(&now, NULL); @@ -3329,9 +3287,6 @@ static void do_sigusr() { sig_flags &= ~SF_USR; -#if !HAVE_SIGACTION - (void) signal(SIGUSR1, handle_sigusr); /* reset the signal */ -#endif if (dvi_file != NULL) { Fclose(dvi_file); dvi_file = NULL;