[BACK]Return to rumpclient.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib / librumpclient

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/lib/librumpclient/rumpclient.c between version 1.44 and 1.45

version 1.44, 2011/03/15 09:35:05 version 1.45, 2011/04/30 12:25:05
Line 589  dupgood(int myfd, int mustchange)
Line 589  dupgood(int myfd, int mustchange)
 {  {
         int ofds[4];          int ofds[4];
         int i;          int i;
           int sverrno;
   
         for (i = 0; (myfd <= 2 || mustchange) && myfd != -1; i++) {          for (i = 0; (myfd <= 2 || mustchange) && myfd != -1; i++) {
                 assert(i < __arraycount(ofds));                  assert(i < __arraycount(ofds));
Line 600  dupgood(int myfd, int mustchange)
Line 601  dupgood(int myfd, int mustchange)
                 }                  }
         }          }
   
           sverrno = 0;
           if (myfd == -1 && i > 0)
                   sverrno = errno;
   
         for (i--; i >= 0; i--) {          for (i--; i >= 0; i--) {
                 host_close(ofds[i]);                  host_close(ofds[i]);
         }          }
   
           if (sverrno)
                   errno = sverrno;
   
         return myfd;          return myfd;
 }  }
   
Line 673  doconnect(void)
Line 681  doconnect(void)
                 return -1;                  return -1;
         }          }
   
         if ((n = host_read(s, banner, sizeof(banner)-1)) < 0) {          if ((n = host_read(s, banner, sizeof(banner)-1)) <= 0) {
                 ERRLOG(("rump_sp: failed to read banner\n"));                  ERRLOG(("rump_sp: failed to read banner\n"));
                 return -1;                  return -1;
         }          }
Line 683  doconnect(void)
Line 691  doconnect(void)
                 return -1;                  return -1;
         }          }
         banner[n] = '\0';          banner[n] = '\0';
         /* parse the banner some day */          /* XXX parse the banner some day */
   
         flags = host_fcntl(s, F_GETFL, 0);          flags = host_fcntl(s, F_GETFL, 0);
         if (host_fcntl(s, F_SETFL, flags | O_NONBLOCK) == -1) {          if (host_fcntl(s, F_SETFL, flags | O_NONBLOCK) == -1) {

Legend:
Removed from v.1.44  
changed lines
  Added in v.1.45

CVSweb <webmaster@jp.NetBSD.org>