On Sun 21 Aug 2011 15:22, l...@gnu.org (Ludovic Courtès) writes:

> Andy Wingo <wi...@pobox.com> skribis:
>
>> Oh dear, this is a nasty one.  The issue is that Guile's ports are not
>> threadsafe.  I hadn't thought about this one...
>>
>> I am adding guile-devel to the Cc for input.  Any fix to this will be
>> pretty big, I think.  I think that the right fix here is probably what
>> Glibc does; see `info libc "Streams and Threads"` for the full details.
>
> Indeed, it would probably need per-port mutexes, making I/O primitives
> thread-safe by default, and perhaps providing unlocked variants like
> libc does.

I did this in master, but something was going wrong so I stubbed it out
for the time being.  But we are almost there.

> Putting our fat mutexes on a diet seems like a prerequisite...

I would think we can use normal mutexes, no?  OTOH making dynamic-wind
and scm_dynwind_* not cons would be really nice.

Andy
-- 
http://wingolog.org/

Reply via email to