diff -r 9eb74aad5c2b -r 6e87ae369992 ExternalStream.st --- a/ExternalStream.st Fri Apr 04 10:17:23 2014 +0200 +++ b/ExternalStream.st Fri Apr 04 10:18:36 2014 +0200 @@ -4431,7 +4431,7 @@ fprintf(stderr, "fclose [ExternalStream] %"_lx_"\n", (INT)f); } #ifdef WIN32 - if (__INST(mode) != @symbol(readonly)) { + if (__INST(mode) != @symbol(readonly) && __INST(buffered) != false) { // do a fflush() first, so that fclose() doesn't block // we suspect, that EINTR causes problems in fclose() do { @@ -5958,11 +5958,11 @@ !ExternalStream class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.382 2014-04-03 15:31:38 stefan Exp $' + ^ '$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.383 2014-04-04 08:18:36 stefan Exp $' ! version_CVS - ^ '$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.382 2014-04-03 15:31:38 stefan Exp $' + ^ '$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.383 2014-04-04 08:18:36 stefan Exp $' ! !