Navigation


Changeset 710:e60376cb15e8 in freeDiameter for libfdcore/cnxctx.c


Ignore:
Timestamp:
Feb 10, 2011, 4:00:53 PM (13 years ago)
Author:
Sebastien Decugis <sdecugis@nict.go.jp>
Branch:
default
Phase:
public
Message:

Minor changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libfdcore/cnxctx.c

    r709 r710  
    622622again:
    623623        ret = recv(conn->cc_socket, buffer, length, 0);
    624         /* Handle special case of timeout */
    625         if ((ret < 0) && (errno == EAGAIN)) {
     624        /* Handle special case of timeout / interrupts */
     625        if ((ret < 0) && ((errno == EAGAIN) || (errno == EINTR))) {
     626                pthread_testcancel();
    626627                if (! fd_cnx_teststate(conn, CC_STATUS_CLOSING ))
    627628                        goto again; /* don't care, just ignore */
     
    649650        ret = send(conn->cc_socket, buffer, length, 0);
    650651        /* Handle special case of timeout */
    651         if ((ret < 0) && (errno == EAGAIN)) {
     652        if ((ret < 0) && ((errno == EAGAIN) || (errno == EINTR))) {
     653                pthread_testcancel();
    652654                if (! fd_cnx_teststate(conn, CC_STATUS_CLOSING ))
    653655                        goto again; /* don't care, just ignore */
Note: See TracChangeset for help on using the changeset viewer.