dgaudet     97/06/16 12:45:13

  Modified:    src       buff.c
  Log:
  A tiny bit more cleanup.  Also check B_SOCKET when closing the fds.
  
  Revision  Changes    Path
  1.29      +24 -11    apache/src/buff.c
  
  Index: buff.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/buff.c,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -C3 -r1.28 -r1.29
  *** buff.c    1997/06/16 19:32:49     1.28
  --- buff.c    1997/06/16 19:45:12     1.29
  ***************
  *** 759,766 ****
    
        while (nbyte > 0) {
        i = buff_write( fb, buf, nbyte );
  !     if( i < 0 ) {
  !         if( errno != EAGAIN && errno != EINTR ) {
                return -1;
            }
        }
  --- 759,766 ----
    
        while (nbyte > 0) {
        i = buff_write( fb, buf, nbyte );
  !     if (i < 0) {
  !         if (errno != EAGAIN && errno != EINTR) {
                return -1;
            }
        }
  ***************
  *** 785,803 ****
    bcwrite(BUFF *fb, const void *buf, int nbyte)
    {
        char chunksize[16];     /* Big enough for practically anything */
  -     int i;
    #ifndef NO_WRITEV
        struct iovec vec[3];
  !     int rv;
    #endif
    
        if (fb->flags & (B_WRERR|B_EOUT))
        return -1;
    
  !     if (!(fb->flags & B_CHUNK))
  !     {
  !     i = buff_write(fb, buf, nbyte);
  !         return(i);
        }
    
    #ifdef NO_WRITEV
  --- 785,800 ----
    bcwrite(BUFF *fb, const void *buf, int nbyte)
    {
        char chunksize[16];     /* Big enough for practically anything */
    #ifndef NO_WRITEV
        struct iovec vec[3];
  !     int i, rv;
    #endif
    
        if (fb->flags & (B_WRERR|B_EOUT))
        return -1;
    
  !     if (!(fb->flags & B_CHUNK)) {
  !     return buff_write(fb, buf, nbyte);
        }
    
    #ifdef NO_WRITEV
  ***************
  *** 1050,1058 ****
    
        if (fb->flags & B_WR) rc1 = bflush(fb);
        else rc1 = 0;
  !     rc2 = closesocket(fb->fd);
  !     if (fb->fd_in != fb->fd) rc3 = closesocket(fb->fd_in);
  !     else rc3 = 0;
    
        fb->inptr = fb->inbase;
        fb->incnt = 0;
  --- 1047,1071 ----
    
        if (fb->flags & B_WR) rc1 = bflush(fb);
        else rc1 = 0;
  ! #ifdef WIN32
  !     if (fb->flags & B_SOCKET) {
  !     rc2 = closesocket(fb->fd);
  !     if (fb->fd_in != fb->fd) {
  !         rc3 = closesocket(fb->fd_in);
  !     } else {
  !         rc3 = 0;
  !     }
  !     } else {
  ! #endif
  !     rc2 = close(fb->fd);
  !     if (fb->fd_in != fb->fd) {
  !         rc3 = close(fb->fd_in);
  !     } else {
  !         rc3 = 0;
  !     }
  ! #ifdef WIN32
  !     }
  ! #endif
    
        fb->inptr = fb->inbase;
        fb->incnt = 0;
  
  
  

Reply via email to