On Thu, Apr 28, 2016 at 1:40 AM, Henrik Grubbström (Lysator) @ Pike
(-) developers forum <10...@lyskom.lysator.liu.se> wrote:
>>Consider this usage:
>>
>>object stdout = Stdio.File();
>>Process.create_process(cmd, (["stdout": stdout->pipe()]);
>>
>>Is this at risk of failing, where stdout->pipe(Stdio.PROP_IPC) would succeed?
>
> Not currently, as the default type of pipe generated by pipe() is
> fd_pipe() (which maps to CreatePipe on WIN32 and is IPC capable).
>
>>Does that imply that PROP_IPC is effectively always implied when
>>creating a pipe?
>
> Not on WIN32.

All currently-supported platforms appear to have IPC capabilities in
the default pipe. Would it be worth changing the default from
PROP_NONBLOCK|PROP_BIDIRECTIONAL to
PROP_NONBLOCK|PROP_BIDIRECTIONAL|PROP_IPC? That wouldn't break any
current code, and would mean that simple calls to stdout->pipe() would
be guaranteed to work (instead of just happening to work).

ChrisA

Reply via email to