Changeset 0ad8477b20fb8400808a7fd6148684f0960c0403

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

[4e21e41ac9381e7d24f3a0ace8870ae0532d2cd7]

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

accept: ignore interrupts

Files:

Legend:

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

    r4e21e41 r0ad8477  
    250250int net_AcceptSingle (vlc_object_t *obj, int lfd) 
    251251{ 
    252     int fd = accept (lfd, NULL, NULL); 
     252    int fd; 
     253    do 
     254        fd = accept (lfd, NULL, NULL); 
     255    while (fd == -1 && errno == EINTR); 
     256 
    253257    if (fd == -1) 
    254258    { 
     
    299303        { 
    300304            case -1: 
    301                 if (net_errno != EINTR) 
    302                     msg_Err (p_this, "poll error: %m"); 
     305                if (net_errno == EINTR) 
     306                    continue; 
     307                msg_Err (p_this, "poll error: %m"); 
     308                return -1; 
    303309            case 0: 
    304                 return -1; /* NOTE: p_this already unlocked */ 
     310                errno = ETIMEDOUT; 
     311                return -1; 
    305312        } 
    306313