X-Git-Url: https://git.distorted.org.uk/~mdw/fwd/blobdiff_plain/07d71f34ab3887b63c6ff2d635fce07368f90295..17be1d6b52cc22403bcfec5e8547bf612d214690:/endpt.c diff --git a/endpt.c b/endpt.c index 348dd44..b9a1d4d 100644 --- 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 * @@ -29,6 +29,11 @@ /*----- 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)