[distcc] errno not reset by connect(2)

Daniel Kegel dank at kegel.com
Fri Nov 5 23:13:39 GMT 2004


Oh, I see now.  It's the line after Jean's patch where
distcc checks errno:

     while ((connect(fd, sa, salen) == -1) && errno == EINTR)
         ;

     if (errno && errno != EINPROGRESS) {

So Jean's patch is right.   It might be cleaner to avoid
setting errno, though, and write this all as

     int failed = 0;
     do
         failed = connect(fd, sa, salen);
     while (failed && errno == EINTR);

     if (failed && errno != EINPROGRESS) {

What do you think, Jean?  Sorry for not understanding your
patch originally.
- Dan


More information about the distcc mailing list