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 _______________________________________________ Haskell-prime mailing list Haskell-prime@haskell.org http://haskell.org/mailman/listinfo/haskell-prime