From fa3e900453f82c6c04fe01eafca419a13bf388b7 Mon Sep 17 00:00:00 2001 From: Sheldon Hearn Date: Tue, 5 Feb 2002 15:20:02 +0000 Subject: [PATCH] Don't use non-signal-safe functions (exit(3) in this case) in signal handlers. In this case, use _exit(2) instead, following the call to shutdown(2). This fixes rare telnetd hangs. PR: misc/33672 Submitted by: Umesh Krishnaswamy MFC after: 1 month --- contrib/telnet/telnetd/sys_term.c | 2 +- crypto/telnet/telnetd/sys_term.c | 2 +- libexec/telnetd/sys_term.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/contrib/telnet/telnetd/sys_term.c b/contrib/telnet/telnetd/sys_term.c index 385655d68d3..419f4fbe2e0 100644 --- a/contrib/telnet/telnetd/sys_term.c +++ b/contrib/telnet/telnetd/sys_term.c @@ -1327,5 +1327,5 @@ cleanup(int sig __unused) (void)chmod(line, 0666); (void)chown(line, 0, 0); (void) shutdown(net, 2); - exit(1); + _exit(1); } diff --git a/crypto/telnet/telnetd/sys_term.c b/crypto/telnet/telnetd/sys_term.c index 385655d68d3..419f4fbe2e0 100644 --- a/crypto/telnet/telnetd/sys_term.c +++ b/crypto/telnet/telnetd/sys_term.c @@ -1327,5 +1327,5 @@ cleanup(int sig __unused) (void)chmod(line, 0666); (void)chown(line, 0, 0); (void) shutdown(net, 2); - exit(1); + _exit(1); } diff --git a/libexec/telnetd/sys_term.c b/libexec/telnetd/sys_term.c index 3d9e091b5e4..089b0dbf39d 100644 --- a/libexec/telnetd/sys_term.c +++ b/libexec/telnetd/sys_term.c @@ -1180,5 +1180,5 @@ cleanup(int sig __unused) (void)chmod(line, 0666); (void)chown(line, 0, 0); (void) shutdown(net, 2); - exit(1); + _exit(1); }