mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 11:40:18 +02:00
Fixes <http://bugs.gnu.org/15683>. Reported by David Pirotte <david@altosw.be>. * module/ice-9/popen.scm: Import (ice-9 threads) and (srfi srfi-9). (<pipe-info>): New record type. (port/pid-table): Mark as deprecated in comment. (port/pid-table-mutex): New variable. (open-pipe*): Store the pid in the pipe-info record, and store the pipe-info as a port property. Guard the pipe-info instead of the port. Lock 'port/pid-table-mutex' while mutating 'port/pid-table'. (fetch-pid): Removed. (fetch-pipe-info): New procedure. (close-process-quietly): Removed. (close-pipe): Use 'fetch-pipe-info' instead of 'fetch-pid'. Clear the pid from the pipe-info. Improve error messages. (reap-pipes): Adapt to the fact that the pipe-info is now guarded instead of the port. Incorporate the 'waitpid' code that was previously in 'close-process-quietly', but let the port finalizer close the port. Clear the pid from the pipe-info. |
||
---|---|---|
.. | ||
ice-9 | ||
language | ||
oop | ||
rnrs | ||
scripts | ||
srfi | ||
sxml | ||
system | ||
texinfo | ||
web | ||
Makefile.am | ||
rnrs.scm | ||
statprof.scm | ||
texinfo.scm |