mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 11:40:18 +02:00
open-pipe* pumps pipes guardian
* module/ice-9/popen.scm (open-pipe*): Hack around the lack of an after-gc hook, and pump the pipes guardian here in the procedure that adds to the guardian.
This commit is contained in:
parent
40d2a0076a
commit
4a2ac0623c
1 changed files with 5 additions and 1 deletions
|
@ -1,6 +1,6 @@
|
||||||
;; popen emulation, for non-stdio based ports.
|
;; popen emulation, for non-stdio based ports.
|
||||||
|
|
||||||
;;;; Copyright (C) 1998, 1999, 2000, 2001, 2003, 2006, 2010 Free Software Foundation, Inc.
|
;;;; Copyright (C) 1998, 1999, 2000, 2001, 2003, 2006, 2010, 2011 Free Software Foundation, Inc.
|
||||||
;;;;
|
;;;;
|
||||||
;;;; This library is free software; you can redistribute it and/or
|
;;;; This library is free software; you can redistribute it and/or
|
||||||
;;;; modify it under the terms of the GNU Lesser General Public
|
;;;; modify it under the terms of the GNU Lesser General Public
|
||||||
|
@ -139,6 +139,10 @@ A port to the process (based on pipes) is created and returned.
|
||||||
@var{modes} specifies whether an input, an output or an input-output
|
@var{modes} specifies whether an input, an output or an input-output
|
||||||
port to the process is created: it should be the value of
|
port to the process is created: it should be the value of
|
||||||
@code{OPEN_READ}, @code{OPEN_WRITE} or @code{OPEN_BOTH}."
|
@code{OPEN_READ}, @code{OPEN_WRITE} or @code{OPEN_BOTH}."
|
||||||
|
|
||||||
|
;; Until we get GC hooks working again, pump the guardian here.
|
||||||
|
(reap-pipes)
|
||||||
|
|
||||||
(let* ((port/pid (apply open-process mode command args))
|
(let* ((port/pid (apply open-process mode command args))
|
||||||
(port (car port/pid)))
|
(port (car port/pid)))
|
||||||
(pipe-guardian port)
|
(pipe-guardian port)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue