|
RE: calling back to Haskell from several C threads: msg#00065lang.haskell.glasgow.bugs
On 12 April 2005 15:32, Bulat Ziganshin wrote: > attached program crashes under GHC-6.2.1/mingw32 and GHC-6.4/mingw32 > > algorithm: > > 1. we create several threads with forkOS > 2. each thread calls C function > 3. C function in each thread made several calls back to Haskell > 4. called Haskell functions do some work with memory > 5. all these threads ended because C functions returns > 6. we create another several threads... > > after repeating these steps several times program crashes That shouldn't happen. Thanks for sending the test program, I'll take a look next week. > may be, this error is due to the following from "The GHC Commentary - > Supporting multi-threaded interoperation.htm": >> Note: As of 20020413, the implementation of the RTS API only >> serializes access to the allocator between multiple OS threads >> wanting to call into Haskell (via the RTS API.) It does not >> coordinate this access to the allocator with that of the OS worker >> thread that's currently executing within the RTS. This weakness/bug >> is scheduled to be tackled as part of an overhaul/reworking of the >> RTS API itself. That comment is out of date, I'll update it. Cheers, Simon
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | calling back to Haskell from several C threads, Bulat Ziganshin |
|---|---|
| Next by Date: | [ ghc-Bugs-1183455 ] Possible error using concurrency, SourceForge.net |
| Previous by Thread: | calling back to Haskell from several C threads, Bulat Ziganshin |
| Next by Thread: | RE: calling back to Haskell from several C threads, Simon Marlow |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |