diff options
author | Eric S. Raymond <esr@thyrsus.com> | 1996-12-21 10:26:34 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 1996-12-21 10:26:34 +0000 |
commit | 950350966b07d1f121f4cf50a2704f1a65dc4b38 (patch) | |
tree | e20caf13502b92cb558945c3b06b75b62813ecc4 | |
parent | b5eac88eceb211ef46470ef2c5e414134c088410 (diff) | |
download | fetchmail-950350966b07d1f121f4cf50a2704f1a65dc4b38.tar.gz fetchmail-950350966b07d1f121f4cf50a2704f1a65dc4b38.tar.bz2 fetchmail-950350966b07d1f121f4cf50a2704f1a65dc4b38.zip |
Correct a horrible bug.
svn path=/trunk/; revision=670
-rw-r--r-- | NEWS | 12 | ||||
-rw-r--r-- | socket.c | 7 |
2 files changed, 15 insertions, 4 deletions
@@ -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. @@ -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 */ |