Stuck servers patch

From: Alex Rousskov (rousskov@ircache.net)
Date: Sun Nov 14 1999 - 21:43:50 MST


Hi there,

        Below is a patch that fixes the problem with "stuck" servers
that got introduced in 2.2.4 and was reported on this list as well as in
private e-mails. A typo made TCP sockets "blocking" and hence unusable
on the server side. Unfortunately, due to fcntl(2) ellipses-based
declaration, compilers were not able to detect the bug.

Please use Polygraph version 2.2.4 with this patch applied rather than
an appears-to-be-working 2.2.3 (servers) + 2.2.4 (robots) combination.
In some environments, the typo made all 2.2.4 sockets blocking, and you
do not want that.

The patch will be included in the next Polygraph release.

Thanks,

Alex.

Index: src/xstd/Socket.cc
===================================================================
RCS file: /surf1/CVS/polygraph/src/xstd/Socket.cc,v
retrieving revision 1.11.6.7
retrieving revision 1.11.6.8
diff -u -r1.11.6.7 -r1.11.6.8
--- Socket.cc 1999/11/09 22:51:51 1.11.6.7
+++ Socket.cc 1999/11/15 04:22:32 1.11.6.8
@@ -351,7 +351,7 @@
         if (newFlags == oldFlags)
                 return true;
 
- return fcntl(theFD, F_SETFL, flags) != -1;
+ return fcntl(theFD, F_SETFL, newFlags) != -1;
 }
 
 bool Socket::reusePort(bool set) {



This archive was generated by hypermail 2b29 : Tue Jul 10 2001 - 12:00:09 MDT