When a non-file endpoint is attached to a file, keep the file endpoint
[fwd] / endpt.c
diff --git a/endpt.c b/endpt.c
index 348dd44..b9a1d4d 100644 (file)
--- a/endpt.c
+++ b/endpt.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: endpt.c,v 1.1 1999/07/26 23:33:01 mdw Exp $
+ * $Id: endpt.c,v 1.2 1999/10/22 22:46:17 mdw Exp $
  *
  * Generic endpoint abstraction
  *
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: endpt.c,v $
+ * Revision 1.2  1999/10/22 22:46:17  mdw
+ * When a non-file endpoint is attached to a file, keep the file endpoint
+ * open until the nonfile is done.  This stops socket sources from
+ * resetting their connection limits too early.
+ *
  * Revision 1.1  1999/07/26 23:33:01  mdw
  * Infrastructure for the new design.
  *
@@ -324,11 +329,14 @@ void endpt_join(endpt *a, endpt *b)
       e = a; a = b; b = e;
     }
 
-    /* --- Attach the non-file endpoint to the file and run away --- */
+    /* --- Attach the non-file endpoint to the file and run away --- *
+     *
+     * Leave it as the non-file's responsibility to close the other endpoint
+     * when it's ready.  It should also close itself at that time.
+     */
 
     b->ops->attach(b, a->in, a->out);
-    a->ops->close(a);
-    b->ops->close(b);
+    b->ops->file(b, a);
     if (t->next)
       t->next->prev = t->prev;
     if (t->prev)