On Wed 22 Feb 2012 22:40, Andy Wingo <wi...@pobox.com> writes: > Obviously we can treat the limited case of (ice-9 popen) in a more > portable fashion.
I have now rewritten open-process from ice-9 popen in C, so as to be sure that only async-signal-safe routines get called. This should make ice-9 popen work reliably even in threaded environments. > Do we in the Guile project have to choose between threads and fork? I think the short answer here is simply "yes". A guile built without threads may fork to its heart's content. However a guile built with threads -- the default, recommended configuration -- should not call primitive-fork. Instead, it should use open-process. I'll add something to the docs. In master, we should consider not providing primitive-fork, if Guile is built with threads. What do folks think about that? Regards, Andy -- http://wingolog.org/