I'm curious, is it possible that your new timeout implementation would fix
this problem?:

doesntWork :: Int -> Int
doesntWork x = last $ cycle [x]

test :: IO (Maybe Bool)
test = timeout 1 $ evaluate $ doesntWork 5 == 5 -- never terminates, even
with the timeout

>From what I can gather, this problem is caused by a lack of context switches
in the code for 'doesntWork' so I doubt that a new implementation of timeout
would fix it, but I thought I'd ask :)

It's super annoying, especially when it happens when you're not expecting
it.

(btw, I've only tested the above code in ghc 6.x, so I have no idea if the
behavior is the same in 7)

- Job

On Mon, Feb 21, 2011 at 3:39 PM, Bas van Dijk <v.dijk....@gmail.com> wrote:

> On 19 February 2011 00:04, Bas van Dijk <v.dijk....@gmail.com> wrote:
> > So, since the new implementation is not really faster in a
> > representative benchmark and above all is buggy, I'm planning to ditch
> > it in favour of the event-manager based timeout.
>
> The patch is ready for review:
>
>
> http://hackage.haskell.org/trac/ghc/attachment/ticket/4963/faster_timeout.dpatch
>
> Bas
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to