Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
64150 commits behind the upstream repository.
Simon Marlow's avatar
Simon Marlow authored
Put a giant loop around awaitEvent, to protect against
awaitEvent(rtsTrue) returning with no threads to run.

This can happen if we try to delay for some time X, and select(2)
decides to wait for a shorter time X-\delta instead.  It appears that
Solaris is more prone to doing this than Linux.

This fixes the "schedule: invalid whatNext field" crashes that people
may have seen.
a5fda6b2
History