[PATCH/RFC 07/11] run-command: support input-fd
- From
Erik Faye-Lund <kusmabite@googlemail.com>
- Date
- Nov 26, 2009, 00:44 UTC
- Message-ID
- <1259196260-3064-8-git-send-email-kusmabite@gmail.com>
- In-Reply-To
- <1259196260-3064-7-git-send-email-kusmabite@gmail.com>
This patch adds the possibility to supply a non-0 file descriptor for communucation, instead of the default-created pipe. The pipe gets duplicated, so the caller can free it's handles.
This is usefull for async communication over sockets.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> --- run-command.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/run-command.c b/run-command.c index e5a0e06..98771ef 100644 --- a/run-command.c +++ b/run-command.c @@ -327,7 +327,10 @@ int start_async(struct async *async) { int pipe_out[2]; - if (pipe(pipe_out) < 0) + if (async->out) { + pipe_out[0] = dup(async->out); + pipe_out[1] = dup(async->out); + } else if (pipe(pipe_out) < 0) return error("cannot create pipe: %s", strerror(errno)); async->out = pipe_out[0];
-- 1.6.5.rc2.7.g4f8d3