- (djm) Use SA_INTERRUPT along SA_RESTART if present (equivalent for

SunOS)
This commit is contained in:
Damien Miller 2001-02-18 13:04:23 +11:00
parent 8609332558
commit 0318e2e0fb
3 changed files with 12 additions and 2 deletions

View File

@ -15,6 +15,8 @@
- (djm) Swapped tests for no_libsocket and no_libnsl in configure.in.
Patch from Marek Michalkiewicz <marekm@amelek.gda.pl>
- (djm) Doc fixes from Pekka Savola <pekkas@netcore.fi>
- (djm) Use SA_INTERRUPT along SA_RESTART if present (equivalent for
SunOS)
20010217
- (bal) OpenBSD Sync:
@ -4022,4 +4024,4 @@
- Wrote replacements for strlcpy and mkdtemp
- Released 1.0pre1
$Id: ChangeLog,v 1.790 2001/02/18 01:58:24 djm Exp $
$Id: ChangeLog,v 1.791 2001/02/18 02:05:52 djm Exp $

4
misc.c
View File

@ -111,6 +111,10 @@ mysignal(int sig, mysig_t act)
#ifdef SA_RESTART
if (sig == SIGCHLD)
sa.sa_flags |= SA_RESTART;
#endif
#ifdef SA_INTERRUPT
if (sig == SIGCHLD)
sa.sa_flags |= SA_INTERRUPT;
#endif
sa.sa_handler = act;
if (sigaction(sig, &sa, NULL) == -1)

6
scp.c
View File

@ -1224,8 +1224,12 @@ progressmeter(int flag)
struct sigaction sa;
sa.sa_handler = updateprogressmeter;
sigemptyset((sigset_t *)&sa.sa_mask);
sa.sa_flags = 0;
#ifdef SA_RESTART
sa.sa_flags = SA_RESTART;
sa.sa_flags |= SA_RESTART;
#endif
#ifdef SA_INTERRUPT
sa.sa_flags |= SA_INTERRUPT;
#endif
sigaction(SIGALRM, &sa, NULL);
alarmtimer(1);