From 950350966b07d1f121f4cf50a2704f1a65dc4b38 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Sat, 21 Dec 1996 10:26:34 +0000 Subject: Correct a horrible bug. svn path=/trunk/; revision=670 --- NEWS | 12 +++++++++--- socket.c | 7 ++++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index 35cc418a..2a1ff4aa 100644 --- a/NEWS +++ b/NEWS @@ -10,7 +10,11 @@ Release Notes: ------------------------------------------------------------------------------ -fetchmail-2.4 (Sat Dec 21 02:37:58 EST 1996) +fetchmail-2.4 (Sat Dec 21 05:24:44 EST 1996) + +Note: a preliminary version of 2.4 was withdrawn after four hours of +exposure due to horrible lossage apparently triggered by a bug in the +Linux standard IO library. See the comment in socket.c. features -- @@ -26,8 +30,10 @@ bugs -- * Restored compile-time portability to Solaris. -* Force line-buffering on socket streams (Linux apparently defaults to this). - This may fix some hang problems reported under Solaris. +* Initial 2.4 said: "Force line-buffering on socket streams (Linux apparently + defaults to this). This may fix some hang problems reported under Solaris." + Unfortunately this "fix" triggers horrible lossage on long messages and had + to be removed. There are 166 people on the fetchmail-friends list. diff --git a/socket.c b/socket.c index 6af77ef3..9bfc5485 100644 --- a/socket.c +++ b/socket.c @@ -76,7 +76,12 @@ FILE *sockopen(char *host, int clientPort) fp = fdopen(sock, "r+"); #ifdef FOO - /* for unknown reasons, this results in horrible lossage */ + /* + * For unknown reasons, this results in horrible lossage. + * To see this, condition in this line, generate a test pattern + * of 8K, fetch it, and watch it garble the test pattern. + * I think there's a bug in stdio lurking here. + */ setvbuf(fp, sbuf, _IOLBF, INTERNAL_BUFSIZE); #endif /* FOO */ -- cgit v1.2.3