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

Diff for /src/usr.bin/ssh/misc.c between version 1.7 and 1.8

version 1.7, 2001/05/08 19:45:24 version 1.8, 2001/05/11 14:59:56
Line 50 
Line 50 
 set_nonblock(int fd)  set_nonblock(int fd)
 {  {
         int val;          int val;
   
         val = fcntl(fd, F_GETFL, 0);          val = fcntl(fd, F_GETFL, 0);
         if (val < 0) {          if (val < 0) {
                 error("fcntl(%d, F_GETFL, 0): %s", fd, strerror(errno));                  error("fcntl(%d, F_GETFL, 0): %s", fd, strerror(errno));
                 return;                  return;
         }          }
         if (val & O_NONBLOCK) {          if (val & O_NONBLOCK) {
                 debug("fd %d IS O_NONBLOCK", fd);                  debug2("fd %d is O_NONBLOCK", fd);
                 return;                  return;
         }          }
         debug("fd %d setting O_NONBLOCK", fd);          debug("fd %d setting O_NONBLOCK", fd);
         val |= O_NONBLOCK;          val |= O_NONBLOCK;
           if (fcntl(fd, F_SETFL, val) == -1)
                   if (errno != ENODEV)
                           error("fcntl(%d, F_SETFL, O_NONBLOCK): %s",
                               fd, strerror(errno));
   }
   
   void
   unset_nonblock(int fd)
   {
           int val;
   
           val = fcntl(fd, F_GETFL, 0);
           if (val < 0) {
                   error("fcntl(%d, F_GETFL, 0): %s", fd, strerror(errno));
                   return;
           }
           if (!(val & O_NONBLOCK)) {
                   debug2("fd %d is not O_NONBLOCK", fd);
                   return;
           }
           debug("fd %d setting O_NONBLOCK", fd);
           val &= ~O_NONBLOCK;
         if (fcntl(fd, F_SETFL, val) == -1)          if (fcntl(fd, F_SETFL, val) == -1)
                 if (errno != ENODEV)                  if (errno != ENODEV)
                         error("fcntl(%d, F_SETFL, O_NONBLOCK): %s",                          error("fcntl(%d, F_SETFL, O_NONBLOCK): %s",

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8