Jean Delvare wrote:
I found that I need the following patch for distcc (2.18.1) to work on
my SunOS 5.8 workstation at work. Looks like on this system, connect(2)
won't reset errno to 0 when successful. I guess this is a broken
behavior to have, but the workaround in the distcc code isn't too
intrusive and obviously safe for all systems, so maybe we can get it in?

--- distcc-2.18.1/src/clinet.c.orig Fri Nov 5 14:11:10 2004
+++ distcc-2.18.1/src/clinet.c Fri Nov 5 11:53:04 2004
@@ -100,6 +100,7 @@
dcc_set_nonblocking(fd);
/* start the nonblocking connect... */
+ errno = 0;
while ((connect(fd, sa, salen) == -1) && errno == EINTR)

SuSv3 says "Upon successful completion, connect() shall return 0; otherwise, -1 shall be returned and errno set to indicate the error." and "No function in this volume of IEEE Std 1003.1-2001 shall set errno to 0."

Thus your change should have no effect on any POSIX-compliant system.
Can you dig into the problem a bit more, and see what's
really going on?
- Dan

__ distcc mailing list http://distcc.samba.org/
To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/distcc

Reply via email to