OSDN Git Service

* fhandler_socket.cc (fhandler_socket::close): Disable enforced
authorcorinna <corinna>
Wed, 16 Apr 2008 17:22:14 +0000 (17:22 +0000)
committercorinna <corinna>
Wed, 16 Apr 2008 17:22:14 +0000 (17:22 +0000)
lingering since the original problem can no longer be reproduced.

winsup/cygwin/ChangeLog
winsup/cygwin/fhandler_socket.cc

index 93d5eab..e7f39dc 100644 (file)
@@ -1,5 +1,10 @@
 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.
 
index d257336..50aaf1f 100644 (file)
@@ -1460,7 +1460,11 @@ int
 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. */
@@ -1469,7 +1473,7 @@ fhandler_socket::close ()
   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)
     {