aboutsummaryrefslogtreecommitdiff
path: root/misc.c
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2021-02-14 21:07:21 +0000
committerEd Maste <emaste@FreeBSD.org>2021-02-14 21:07:21 +0000
commitdb903103f46785ea0bba0f228691e1f8fb3a643d (patch)
tree74026f96189cd1c487ea2c8e038b921e3861e1b1 /misc.c
parent82e5fdc50050d6dccf1f547818312aebd3b6626e (diff)
downloadsrc-db903103f46785ea0bba0f228691e1f8fb3a643d.tar.gz
src-db903103f46785ea0bba0f228691e1f8fb3a643d.zip
Diffstat (limited to 'misc.c')
-rw-r--r--misc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/misc.c b/misc.c
index 3a31d5c1807e..554ceb0b17d1 100644
--- a/misc.c
+++ b/misc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: misc.c,v 1.146 2020/01/28 01:49:36 djm Exp $ */
+/* $OpenBSD: misc.c,v 1.147 2020/04/25 06:59:36 dtucker Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
* Copyright (c) 2005,2006 Damien Miller. All rights reserved.
@@ -2255,11 +2255,13 @@ ssh_signal(int signum, sshsig_t handler)
struct sigaction sa, osa;
/* mask all other signals while in handler */
- bzero(&sa, sizeof(sa));
+ memset(&sa, 0, sizeof(sa));
sa.sa_handler = handler;
sigfillset(&sa.sa_mask);
+#if defined(SA_RESTART) && !defined(NO_SA_RESTART)
if (signum != SIGALRM)
sa.sa_flags = SA_RESTART;
+#endif
if (sigaction(signum, &sa, &osa) == -1) {
debug3("sigaction(%s): %s", strsignal(signum), strerror(errno));
return SIG_ERR;