[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