buildFdSets: file descriptor out of range

Kazu Yamamoto ( 山本和彦 ) kazu at
Thu Jul 16 01:53:48 EDT 2009


>> Reduce this to 1024, otherwise the runtime will eventually find itself
>> dealing with file descriptors beyond the select() limit mentioned
>> above.
>> Someone with more knowledge of the Haskell runtime will have to advise
>> as to possible ways around it if you really need more than 1024 file
>> descriptors.
> There's no easy workaround.  We could have the IO library switch to
> using blocking read() calls for the out-of-range FDs to avoid the
> error from the IO manager, but that is likely to lead to a different
> problem: too many OS threads.

Thank you for reply.

I changed forkIO to forkOS. But I received the following error.

	ERRORCannot create OS thread.

I want to decrease the stack size of threads to increase the number of
threads to be created. How can I do this?

I tried to decrease ResourceStackSize and tried the RTS -k option but
both does not increase the number of threads...


More information about the Glasgow-haskell-users mailing list