Re: FFI, signals and exceptions

2010-08-27 Thread Edward Z. Yang
Excerpts from Simon Marlow's message of Fri Aug 27 04:05:46 -0400 2010: > You should walk cap->suspended_ccalls instead, no lock is required for that. > > For stress testing, you want to construct an example that has lots of > threads making foreign cals and other threads calling throwTo to > int

RE: late optimization of typeclass callers

2010-08-27 Thread christian Hoener zu Siederdissen
Thanks that is *exactly* the problem I am having. The missing line breaks are kind of weird. I will try the newest head (which will mean getting about 20 libs to compile...) and report back. I left the core out intentionally because the vector library tends to produce ugly core when it can not

RE: late optimization of typeclass callers

2010-08-27 Thread Simon Peyton-Jones
It's hard to read your code because the line breaks have been removed. Moreover I think your code depends on some unspecified Hackage package. And I couldn't find the enclosed Core dumps. Nor do you specify which version of GHC you are using. Still I believe that the nub is this. You have a

Re: FFI, signals and exceptions

2010-08-27 Thread Simon Marlow
On 26/08/2010 18:20, Edward Z. Yang wrote: Ahem, the logic in that last iteration was not quite correct. Here is the more correct version: case BlockedOnCCall: case BlockedOnCCall_NoUnblockExc: { #ifdef THREADED_RTS Task *task = NULL; if (!target->bound) {