Skip to content
Snippets Groups Projects
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
Name Last commit Last update