From: Tom Yu Date: Tue, 24 Feb 1998 04:09:50 +0000 (+0000) Subject: * utility.c (ptyflush, netflush): Explicitly reset SIGCHLD handler X-Git-Tag: krb5-1.1-final~800 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fa6a2e9319cf37780213e40dd7c07daeecdce60a;p=thirdparty%2Fkrb5.git * utility.c (ptyflush, netflush): Explicitly reset SIGCHLD handler before calling cleanup(). [telnet/546] * telnetd.c (telnet): Explicitly reset SIGCHLD handler before calling cleanup(). [telnet/546] * state.c (dooption): Explicitly reset SIGCHLD handler before calling cleanup(). [telnet/546] git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@10471 dc483132-0cff-0310-8789-dd5450dbe970 --- diff --git a/src/appl/telnet/telnetd/ChangeLog b/src/appl/telnet/telnetd/ChangeLog index ca8b999e97..4bdfd73113 100644 --- a/src/appl/telnet/telnetd/ChangeLog +++ b/src/appl/telnet/telnetd/ChangeLog @@ -1,3 +1,14 @@ +Mon Feb 23 22:58:22 1998 Tom Yu + + * utility.c (ptyflush, netflush): Explicitly reset SIGCHLD handler + before calling cleanup(). [telnet/546] + + * telnetd.c (telnet): Explicitly reset SIGCHLD handler before + calling cleanup(). [telnet/546] + + * state.c (dooption): Explicitly reset SIGCHLD handler before + calling cleanup(). [telnet/546] + Wed Feb 18 15:38:31 1998 Tom Yu * Makefile.in: Remove trailing slash from thisconfigdir. Fix up diff --git a/src/appl/telnet/telnetd/state.c b/src/appl/telnet/telnetd/state.c index afca74c97d..46feffbb9d 100644 --- a/src/appl/telnet/telnetd/state.c +++ b/src/appl/telnet/telnetd/state.c @@ -947,6 +947,7 @@ dooption(option) send_will(TELOPT_LOGOUT, 0); set_my_state_will(TELOPT_LOGOUT); (void)netflush(); + (void)signal(SIGCHLD, SIG_DFL); cleanup(0); /* NOT REACHED */ break; diff --git a/src/appl/telnet/telnetd/telnetd.c b/src/appl/telnet/telnetd/telnetd.c index 54fc12a399..9837472868 100644 --- a/src/appl/telnet/telnetd/telnetd.c +++ b/src/appl/telnet/telnetd/telnetd.c @@ -1501,6 +1501,7 @@ telnet(f, p, host) if (FD_ISSET(p, &obits) && (pfrontp - pbackp) > 0) ptyflush(); } + (void) signal(SIGCHLD, SIG_DFL); cleanup(0); } /* end of telnet */ diff --git a/src/appl/telnet/telnetd/utility.c b/src/appl/telnet/telnetd/utility.c index eb31a76a17..8f888bc023 100644 --- a/src/appl/telnet/telnetd/utility.c +++ b/src/appl/telnet/telnetd/utility.c @@ -122,6 +122,7 @@ ptyflush() if (n < 0) { if (errno == EWOULDBLOCK || errno == EINTR) return; + (void)signal(SIGCHLD, SIG_DFL); cleanup(0); } pbackp += n; @@ -287,6 +288,7 @@ netflush() if (n < 0) { if (errno == EWOULDBLOCK || errno == EINTR) return; + (void)signal(SIGCHLD, SIG_DFL); cleanup(0); } nbackp += n;