[Top][All Lists]
[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?
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- open-pipe deadlocked,
rixed <=