* utility.c (ptyflush, netflush): Explicitly reset SIGCHLD handler
authorTom Yu <tlyu@mit.edu>
Tue, 24 Feb 1998 04:09:50 +0000 (04:09 +0000)
committerTom Yu <tlyu@mit.edu>
Tue, 24 Feb 1998 04:09:50 +0000 (04:09 +0000)
  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

src/appl/telnet/telnetd/ChangeLog
src/appl/telnet/telnetd/state.c
src/appl/telnet/telnetd/telnetd.c
src/appl/telnet/telnetd/utility.c

index ca8b999e97bca43119fcedd81fde396cd4eed0c0..4bdfd7311311d077b563a701943ab677d82eb7c5 100644 (file)
@@ -1,3 +1,14 @@
+Mon Feb 23 22:58:22 1998  Tom Yu  <tlyu@mit.edu>
+
+       * 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  <tlyu@mit.edu>
 
        * Makefile.in: Remove trailing slash from thisconfigdir.  Fix up
index afca74c97d81cd158933398cd99e55e05b7615dd..46feffbb9d8ed7ecba4ea2a94ec723ff7423c214 100644 (file)
@@ -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;
index 54fc12a3991fb98bf590ad80415aa5b0036d23e7..983747286824cd3dc8bc8a9ac5228012fc3c6136 100644 (file)
@@ -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 */
        
index eb31a76a171c2b3b6b600865e86824024c240b57..8f888bc0239ae85deaecb9bcfb4e58bf76428122 100644 (file)
@@ -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;