Ignore:
Timestamp:
Nov 14, 2012, 12:59:34 PM (13 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: update vendor to 3.6.0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • vendor/current/source3/lib/sendfile.c

    r414 r740  
    6464                        nwritten = sendfile(tofd, fromfd, &offset, total);
    6565#endif
    66                 } while (nwritten == -1 && errno == EINTR);
     66#if defined(EWOULDBLOCK)
     67                } while (nwritten == -1 && (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK));
     68#else
     69                } while (nwritten == -1 && (errno == EINTR || errno == EAGAIN));
     70#endif
    6771                if (nwritten == -1) {
    6872                        if (errno == ENOSYS || errno == EINVAL) {
     
    146150                do {
    147151                        nwritten = sendfile(tofd, fromfd, &small_offset, small_total);
    148                 } while (nwritten == -1 && errno == EINTR);
     152#if defined(EWOULDBLOCK)
     153                } while (nwritten == -1 && (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK));
     154#else
     155                } while (nwritten == -1 && (errno == EINTR || errno == EAGAIN));
     156#endif
    149157                if (nwritten == -1) {
    150158                        if (errno == ENOSYS || errno == EINVAL) {
     
    227235                        nwritten = sendfilev(tofd, vec, sfvcnt, &xferred);
    228236#endif
    229                 if (nwritten == -1 && errno == EINTR) {
     237#if defined(EWOULDBLOCK)
     238                if  (nwritten == -1 && (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK)) {
     239#else
     240                if (nwritten == -1 && (errno == EINTR || errno == EAGAIN)) {
     241#endif
    230242                        if (xferred == 0)
    231243                                continue; /* Nothing written yet. */
     
    301313                        nwritten = sendfile(tofd, fromfd, offset, total, &hdtrl[0], 0);
    302314#endif
    303                 } while (nwritten == -1 && errno == EINTR);
     315#if defined(EWOULDBLOCK)
     316                } while (nwritten == -1 && (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK));
     317#else
     318                } while (nwritten == -1 && (errno == EINTR || errno == EAGAIN));
     319#endif
    304320                if (nwritten == -1)
    305321                        return -1;
     
    372388                do {
    373389                        ret = sendfile(fromfd, tofd, offset, total, &hdr, &nwritten, 0);
    374                 } while (ret == -1 && errno == EINTR);
     390#if defined(EWOULDBLOCK)
     391                } while (ret == -1 && (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK));
     392#else
     393                } while (ret == -1 && (errno == EINTR || errno == EAGAIN));
     394#endif
    375395                if (ret == -1)
    376396                        return -1;
     
    450470                do {
    451471                        ret = send_file(&tofd, &hdtrl, 0);
    452                 } while ( (ret == 1) || (ret == -1 && errno == EINTR) );
     472#if defined(EWOULDBLOCK)
     473                } while ((ret == 1) || (ret == -1 && (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK)));
     474#else
     475                } while ((ret == 1) || (ret == -1 && (errno == EINTR || errno == EAGAIN)));
     476#endif
    453477                if ( ret == -1 )
    454478                        return -1;
Note: See TracChangeset for help on using the changeset viewer.