RE: [Haskell-cafe] Project postmortem

On 21 November 2005 10:16, Joel Reymont wrote:
Is Wolfgang still around?
Would you guys be willing to guide me through this? I could then possibly become the next Mac OSX expert :-).
I have the disassembler dumps, etc. I do not know how to approach this problem. I read up a bit on the GHC internals, STG, code generation, etc.
If anyone is interested, this turned out to be a bug in the Network.BSD module, namely that getHostByName isn't thread safe because it is based on the C library function gethostbyname(), which returns data in a single static area. Workarounds are: - do your own mutual exclusion locking around getHostByName and any function that calls it (eg. connectTo). - use Network.Alt (http://www.cs.helsinki.fi/u/ekarttun/network-alt/), which has a thread-safe implementation of getHostByName. - wait for 6.4.2, which will contain a fix for this bug (we don't have a fix committed yet, Einar Karttunen has kindly offered to look into it). Cheers, Simon

On Fri, Dec 02, 2005 at 11:20:54AM -0000, Simon Marlow wrote:
If anyone is interested, this turned out to be a bug in the Network.BSD module, namely that getHostByName isn't thread safe because it is based on the C library function gethostbyname(), which returns data in a single static area.
Workarounds are:
- do your own mutual exclusion locking around getHostByName and any function that calls it (eg. connectTo).
- use Network.Alt (http://www.cs.helsinki.fi/u/ekarttun/network-alt/), which has a thread-safe implementation of getHostByName.
- wait for 6.4.2, which will contain a fix for this bug (we don't have a fix committed yet, Einar Karttunen has kindly offered to look into it).
Do I understand correctly that another workaround is - don't compile your programs with -threaded ? Best regards Tomasz -- I am searching for a programmer who is good at least in some of [Haskell, ML, C++, Linux, FreeBSD, math] for work in Warsaw, Poland

I thought that if -threaded is not used then all the blocking IO is assigned a separate OS thread. On Dec 2, 2005, at 12:10 PM, Tomasz Zielonka wrote:
Do I understand correctly that another workaround is - don't compile your programs with -threaded ?
participants (3)
-
Joel Reymont
-
Simon Marlow
-
Tomasz Zielonka