question about RUN-PROGRAM

Faré fare at tunes.org
Tue Apr 19 17:46:08 UTC 2016


On Tue, Apr 19, 2016 at 12:12 PM, Robert Goldman <rpgoldman at sift.net> wrote:
> The DOCSTRING for RUN-PROGRAM says
>
> Run program specified by COMMAND,
> either a list of strings specifying a program and list of arguments,
> or a string specifying a shell command (/bin/sh on Unix, CMD.EXE on
> Windows);
> _synchronously_ process its output as specified and return the
> processing results
> when the program and its output processing are complete.
>
> So shouldn't RUN-PROGRAM always pass :WAIT T to %RUN-PROGRAM?
>
No. The kernel will block the other process if it outputs too much
stuff in a pipe and no one is reading from it. Or we'd have to always
create a temporary file for the output. UIOP:RUN-PROGRAM does the
right thing.

> A colleague of mine anecdotally reported that he wasn't getting output
> from a call to RUN-PROGRAM until he caught and printed the return value.
>
I'm not sure what you mean. If there's a bug, please provide a reduced
test case.

> This is on ALLEGRO, where RUN-PROGRAM invokes EXCL:RUN-SHELL-COMMAND
> and, I believe, should always be using WAIT, no?
>
No.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
I'd give my right arm to be ambidextrous.



More information about the asdf-devel mailing list