[BACK]Return to session.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/session.c between version 1.106 and 1.107

version 1.106, 2001/10/09 21:59:41 version 1.107, 2001/10/10 22:18:47
Line 1576 
Line 1576 
 {  {
         Session *s = session_by_channel(id);          Session *s = session_by_channel(id);
         if (s == NULL) {          if (s == NULL) {
                 debug("session_close_by_channel: no session for channel %d", id);                  debug("session_close_by_channel: no session for id %d", id);
                 return;                  return;
         }          }
         /* disconnect channel */          debug("session_close_by_channel: channel %d child %d", id, s->pid);
         channel_cancel_cleanup(s->chanid);  
         s->chanid = -1;  
   
         debug("session_close_by_channel: channel %d kill %d", id, s->pid);  
         if (s->pid != 0) {          if (s->pid != 0) {
                 /* notify child */                  /* delay detach */
                 if (kill(s->pid, SIGHUP) < 0)                  debug("session_close_by_channel: channel %d: has child", id);
                         error("session_close_by_channel: kill %d: %s",                  return;
                             s->pid, strerror(errno));  
         }          }
           /* detach by removing callback */
           channel_cancel_cleanup(s->chanid);
           s->chanid = -1;
         session_close(s);          session_close(s);
 }  }
   
 void  void
 session_close_all(void)  session_destroy_all(void)
 {  {
         int i;          int i;
         for(i = 0; i < MAX_SESSIONS; i++) {          for(i = 0; i < MAX_SESSIONS; i++) {
                 Session *s = &sessions[i];                  Session *s = &sessions[i];
                 if (s->used) {                  if (s->used)
                         if (s->chanid != -1) {  
                                 channel_cancel_cleanup(s->chanid);  
                                 s->chanid = -1;  
                         }  
                         session_close(s);                          session_close(s);
                 }  
         }          }
 }  }
   

Legend:
Removed from v.1.106  
changed lines
  Added in v.1.107