Changeset fbeaf830d351d634d3ed3cecbae07d02f9663601

Show
Ignore:
Timestamp:
12/06/08 18:52:12 (4 months ago)
Author:
Rémi Denis-Courmont <rdenis@simphalempin.com>
git-committer:
Rémi Denis-Courmont <rdenis@simphalempin.com> 1213289532 +0300
git-parent:

[6914ba783217992334b90aa2bf3a8e2d8af3e09d]

git-author:
Rémi Denis-Courmont <rdenis@simphalempin.com> 1213289532 +0300
Message:

Factorize interrupt handling

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/network/httpd.c

    rd666030 rfbeaf83  
    14581458} 
    14591459 
    1460 static int httpd_NetRecv( httpd_client_t *cl, uint8_t *p, int i_len ) 
     1460static 
     1461ssize_t httpd_NetRecv (httpd_client_t *cl, uint8_t *p, size_t i_len) 
    14611462{ 
    14621463    tls_session_t *p_tls; 
     1464    ssize_t val; 
    14631465 
    14641466    p_tls = cl->p_tls; 
    1465     if( p_tls != NULL) 
    1466         return tls_Recv( p_tls, p, i_len ); 
    1467  
    1468     return recv( cl->fd, p, i_len, 0 ); 
    1469 
    1470  
    1471 static int httpd_NetSend( httpd_client_t *cl, const uint8_t *p, int i_len ) 
     1467    do 
     1468        val = p_tls ? tls_Recv (p_tls, p, i_len) 
     1469                    : recv (cl->fd, p, i_len, 0); 
     1470    while (val == -1 && errno == EINTR); 
     1471    return val; 
     1472
     1473 
     1474static 
     1475ssize_t httpd_NetSend (httpd_client_t *cl, const uint8_t *p, size_t i_len) 
    14721476{ 
    14731477    tls_session_t *p_tls; 
     1478    ssize_t val; 
    14741479 
    14751480    p_tls = cl->p_tls; 
    1476     if( p_tls != NULL) 
    1477         return tls_Send( p_tls, p, i_len ); 
    1478  
    1479     return send( cl->fd, p, i_len, 0 ); 
     1481    do 
     1482        val = p_tls ? tls_Send( p_tls, p, i_len ) 
     1483                    : send (cl->fd, p, i_len, 0); 
     1484    while (val == -1 && errno == EINTR); 
     1485    return val; 
    14801486} 
    14811487 
     
    18311837    if( ( i_len < 0 && WSAGetLastError() != WSAEWOULDBLOCK ) || ( i_len == 0 ) ) 
    18321838#else 
    1833     if( ( i_len < 0 && errno != EAGAIN && errno != EINTR ) || ( i_len == 0 ) ) 
     1839    if( ( i_len < 0 && errno != EAGAIN ) || ( i_len == 0 ) ) 
    18341840#endif 
    18351841    { 
     
    19711977        if( ( i_len < 0 && WSAGetLastError() != WSAEWOULDBLOCK ) || ( i_len == 0 ) ) 
    19721978#else 
    1973         if( ( i_len < 0 && errno != EAGAIN && errno != EINTR ) || ( i_len == 0 ) ) 
     1979        if( ( i_len < 0 && errno != EAGAIN ) || ( i_len == 0 ) ) 
    19741980#endif 
    19751981        {