guile-devel
[Top][All Lists]
Advanced

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

Re: bug#15228: [PATCH] Close output port of I/O pipes


From: Andy Wingo
Subject: Re: bug#15228: [PATCH] Close output port of I/O pipes
Date: Sat, 25 Jun 2016 17:49:50 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

On Sat 25 Jun 2016 15:51, Josep Portella Florit <address@hidden> writes:

>> I dunno how much we should push this "processes are a single port"
>> abstraction.  In many ways for OPEN_BOTH pipes it's easier to deal with
>> an input and an output port and a PID instead of the pipe abstraction.
>> WDYT?  We could just expose `open-process' from (ice-9 popen) to start
>> with.  It would be good to allow other fd's or ports to map to the child
>> as well, e.g. stderr or any particular port; but I don't know what
>> interface we should expose.
>
> Since patching was inconvenient for me, I eventually used:
>
> (use-modules ((ice-9 popen) #:select (open-process)))
>
> Which works even though `open-process` is not exported.

Note that this behavior of #:select is a bug.  We won't remove it in
stable-2.0 but we have removed it in master.

> For me, exporting `open-process` and documenting it would be enough.

Fine with me, many people have asked for this at this point.  I guess
that's the next step for this bug.

> I also like the Racket interface to processes:
> <https://docs.racket-lang.org/reference/subprocess.html>
> (I've mostly used the `process` procedure.)

Duly noted!  The more we steal from Racket, the better Guile will be :)

Andy



reply via email to

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