[project @ 2003-04-30 08:36:21 by simonmar]
authorsimonmar <unknown>
Wed, 30 Apr 2003 08:36:21 +0000 (08:36 +0000)
committersimonmar <unknown>
Wed, 30 Apr 2003 08:36:21 +0000 (08:36 +0000)
commit80d0dfad3ab4c715d0af11329f939dc633943a6e
tree0a6e2517007e05b3d8f45f3c20bcc715117da075
parent26d820ea8bea58392d9814a4dbf05136373b7d97
[project @ 2003-04-30 08:36:21 by simonmar]
When doing hGetChar on a block-buffered handle, don't wait for the
buffer to be completely full before returning a character.  This
behaviour seems more useful, and matches what hGetLine and
hGetContents do.

Without this, to do an unbuffered read you have to set the buffering
on the Handle to NoBuffering, which adversely affects the performance
of writes.  With this change, there is now no difference between line
buffering and block buffering for read operations.

Possibly fillReadBuffer can now be simplified, since the is_line
parameter is always True.  However, this is a delicate part of the IO
library, and I don't want to remove the possiblity of forcing a
complete buffer-fill in the future.
GHC/IO.hs