[Haskell-cafe] Project postmortem
Simon Marlow
simonmar at microsoft.com
Fri Dec 2 07:39:25 EST 2005
On 02 December 2005 12:11, Tomasz Zielonka wrote:
> 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
> ?
No, the bug isn't related to -threaded. It still occurs without
-threaded.
Cheers,
Simon
More information about the Haskell-Cafe
mailing list