From 046a152e4526d789407a3d020a2c38cdd956f4f3 Mon Sep 17 00:00:00 2001 From: mdw Date: Wed, 19 Jul 2000 17:55:43 +0000 Subject: [PATCH] (writechan): Pointless tweak: when the buffer is empty, reset the start pointer to the beginning. This saves doing slightly trickier @writev(2)@ calls when loading is light. --- chan.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/chan.c b/chan.c index ad44891..ffec633 100644 --- a/chan.c +++ b/chan.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: chan.c,v 1.4 1999/08/31 17:42:49 mdw Exp $ + * $Id: chan.c,v 1.5 2000/07/19 17:55:43 mdw Exp $ * * Channel management * @@ -29,6 +29,11 @@ /*----- Revision history --------------------------------------------------* * * $Log: chan.c,v $ + * Revision 1.5 2000/07/19 17:55:43 mdw + * (writechan): Pointless tweak: when the buffer is empty, reset the start + * pointer to the beginning. This saves doing slightly trickier + * @writev(2)@ calls when loading is light. + * * Revision 1.4 1999/08/31 17:42:49 mdw * Use `sel_force' to avoid a `select' call between reads and writes. * @@ -119,8 +124,11 @@ static void writechan(int fd, unsigned mode, void *vp) /* --- Close the output end if necessary --- */ - if (c->len == 0 && (c->f & CHANF_CLOSE)) - c->func(c->p); + if (c->len == 0) { + c->base = 0; + if (c->f & CHANF_CLOSE) + c->func(c->p); + } return; /* --- Force a close if an error occurred --- */ -- 2.11.0