diff options
author | peter <peter@FreeBSD.org> | 2002-09-02 07:58:04 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2002-09-02 07:58:04 +0000 |
commit | 9ebea44a28f0cb90be60e2980df7e0dbb801286d (patch) | |
tree | 78a9fd678fc9a1ee72fbb0560034120b49f7c008 /contrib/cvs | |
parent | 0946da5e4ea3efc6048a6e9e04e3a629b7cb3ce2 (diff) | |
download | FreeBSD-src-9ebea44a28f0cb90be60e2980df7e0dbb801286d.zip FreeBSD-src-9ebea44a28f0cb90be60e2980df7e0dbb801286d.tar.gz |
Fix a cvs server bug introduced in 1.11.2, in the words of the author:
---
Fix communication hanging in communication shutdown phase, caused by at
least older CVS clients (version < 1.11.2) and a semantically incorrect
usage of getc() by the server.
---
getc() was being used on a blocking socket/pipe.
Submitted by: rse
Diffstat (limited to 'contrib/cvs')
-rw-r--r-- | contrib/cvs/src/buffer.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/contrib/cvs/src/buffer.c b/contrib/cvs/src/buffer.c index 0c13cde..9048a9e 100644 --- a/contrib/cvs/src/buffer.c +++ b/contrib/cvs/src/buffer.c @@ -1,5 +1,7 @@ /* Code for the buffer data structure. */ +/* $FreeBSD$ */ + #include <assert.h> #include "cvs.h" #include "buffer.h" @@ -1378,8 +1380,7 @@ stdio_buffer_shutdown (buf) if (buf->input) { - if (! buf_empty_p (buf) - || getc (bc->fp) != EOF) + if (! buf_empty_p (buf)) { # ifdef SERVER_SUPPORT if (server_active) |