guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

open-pipe deadlocked


From: rixed
Subject: open-pipe deadlocked
Date: Fri, 29 Jul 2011 15:56:12 +0200
User-agent: Mutt/1.5.20 (2009-06-14)

Hello !

Sometime, my progam calls open-input-pipe and the forked child hangs
waiting for a lock (so after the fork but before executing the command).

So I read the code for open-process, especially what happens between the
fork and the execlp, and I noticed several potential problems :

- all ports are closed, but what about other open files that are not
  ports ? My application opens many files in C that are not known to
  guile. Shouldn't these be closed as well ?

- what if when forking some other guile thread hold one of the internal
  lock (for instance, the lock protecting the port table) ? Then the
  code between the fork and the exec (which loop on all ports, amongst
  other things) may try to grab this internal mutex, deadlocking.

Any thoughs?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]