pgpool2.git / summary / log / commit / refs

commit    ae13e5527215bca4d33136aca66ca39179fecb5f
Author:   Yoshiyuki Asaba <y-asaba at pgfoundry.org>
Date:     Mon Feb 18 09:58:39 2008 +0000

    Add error checking.


pool_stream.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pool_stream.c b/pool_stream.c index c7592cf5e..da37881aa 100644 --- a/pool_stream.c +++ b/pool_stream.c @@ -410,15 +410,16 @@ int pool_write(POOL_CONNECTION *cp, void *buf, int len) while (len > 0) { - int remainder = cp->wbufsz - cp->wbufpo; + int remainder = WRITEBUFSZ - cp->wbufpo; - if (remainder <= 0) + if (cp->wbufpo >= WRITEBUFSZ) { /* * Write buffer is full. so flush buffer. * wbufpo is reset in pool_flush_it(). */ - pool_flush_it(cp); + if (pool_flush_it(cp) == -1) + return -1; remainder = WRITEBUFSZ; } [parent: 9cca9fd00c80]