The goals of the concurrency standard?

Simon Marlow simonmar at microsoft.com
Wed Apr 12 07:41:02 EDT 2006


On 12 April 2006 11:30, John Meacham wrote:

> On Wed, Apr 12, 2006 at 11:19:53AM +0100, Simon Marlow wrote:

>> The safe points don't even have to be very often: in GHC the context
>> switch check is made after every 4k of allocation.
> 
> indeed, which means GHC technically doesn't meet the preemptive
> requirements since a tight mathematical non-allocating loop can halt
> it. 
> 
> in order to do true preemption, you'd need to respond to SIGALRM or
> something like that, which can be quite tricky.

Not at all, we could make non-allocating loops bump the heap pointer and
do heap checks, but we choose not to.  It's just a bug that we don't do
this, and it virtually never happens in practice.

Cheers,
	Simon


More information about the Haskell-prime mailing list