~mdw
/
fwd
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use new mLib selbuf features.
[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-*-
*
/* -*-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
*
*
* Generic endpoint abstraction
*
@@
-29,6
+29,11
@@
/*----- Revision history --------------------------------------------------*
*
* $Log: endpt.c,v $
/*----- 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.
*
* 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;
}
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);
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)
if (t->next)
t->next->prev = t->prev;
if (t->prev)