[project @ 1999-09-16 13:14:38 by simonmar]
authorsimonmar <unknown>
Thu, 16 Sep 1999 13:14:43 +0000 (13:14 +0000)
committersimonmar <unknown>
Thu, 16 Sep 1999 13:14:43 +0000 (13:14 +0000)
commit6986b2b2439ce264df153878374f70cee54ef100
tree07e1b667f51039b2ee9a2c3859119a23e5afa571
parentcadc82fc0a7a1e640bb04842769ca337dedb8c70
[project @ 1999-09-16 13:14:38 by simonmar]
Cleanup of non-blocking I/O

- file descriptors are now always set to non-blocking mode.

- we don't do an inputReady operation on descriptors before
  attempting to read from them any more.

- the non-blocking flag on Handles has gone.

- the {set,clear}[Conn]NonBlockingFlag() functions have gone.

- the socket operations have been made to work properly with threads:
  accept is now non-blocking (it does a threadWaitRead instead of
  blocking), and the file descriptors returned by accept are set to
  non-blocking mode.

Win32 will need some adjustments, no doubt.
ghc/lib/misc/SocketPrim.lhs
ghc/lib/misc/cbits/acceptSocket.c
ghc/lib/misc/cbits/createSocket.c
ghc/lib/std/PrelHandle.lhs
ghc/lib/std/cbits/fileObject.c
ghc/lib/std/cbits/fileObject.h
ghc/lib/std/cbits/filePutc.c
ghc/lib/std/cbits/openFile.c
ghc/lib/std/cbits/readFile.c
ghc/lib/std/cbits/writeFile.c