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