
20 Jan
2005
20 Jan
'05
5:22 a.m.
Simon Marlow wrote:
On 20 January 2005 09:56, Keean Schupke wrote:
Why is disk a special case? I have never heard that all processes under linux wait for a disk read...
You were talking about Haskell threads, not processes! These are quite different things.
But with -threaded GHC is using multiple processes (OS-threads) to run the Haskell threads. If one OS thread handles IO, and the other runs the Haskell-thread-scheduler, then Haskell-threads need never wait for IO - apart form the actual thread doing the IO.
The reason that disk I/O is different is because select() treats it differently, and select() is what GHC's runtime currently uses to multiplex I/O.
Are you sure? Its not mentioned in the manual... Keean.