2008-04-16 Corinna Vinschen <corinna@vinschen.de>
+ * fhandler_socket.cc (fhandler_socket::close): Disable enforced
+ lingering since the original problem can no longer be reproduced.
+
+2008-04-16 Corinna Vinschen <corinna@vinschen.de>
+
* grp.cc (internal_getgroups): Drop local buf. Allocate groups
directly using alloca.
fhandler_socket::close ()
{
int res = 0;
-
+ /* TODO: CV - 2008-04-16. Lingering disabled. The original problem
+ could be no longer reproduced on NT4, XP, 2K8. Any return of a
+ spurious "Connection reset by peer" *could* be caused by disabling
+ the linger code here... */
+#if 0
/* HACK to allow a graceful shutdown even if shutdown() hasn't been
called by the application. Note that this isn't the ultimate
solution but it helps in many cases. */
linger.l_linger = 240; /* secs. default 2MSL value according to MSDN. */
setsockopt (get_socket (), SOL_SOCKET, SO_LINGER,
(const char *)&linger, sizeof linger);
-
+#endif
release_events ();
while ((res = closesocket (get_socket ())) != 0)
{