From bc058b8b01ab893b43e981ebdac01b8e5e1f1313 Mon Sep 17 00:00:00 2001 From: Peter van Dijk Date: Fri, 20 Sep 2019 10:03:30 +0200 Subject: [PATCH] pipebackend coprocess: initialise d_pid --- modules/pipebackend/coprocess.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/modules/pipebackend/coprocess.cc b/modules/pipebackend/coprocess.cc index 2da3dacd7..419b53a83 100644 --- a/modules/pipebackend/coprocess.cc +++ b/modules/pipebackend/coprocess.cc @@ -50,6 +50,7 @@ CoProcess::CoProcess(const string &command,int timeout, int infd, int outfd): d_ for (size_t n = 0; n < d_params.size(); n++) { d_argv[n]=d_params[n].c_str(); } + d_pid = 0; } void CoProcess::launch() @@ -103,9 +104,11 @@ void CoProcess::launch() CoProcess::~CoProcess() { int status; - if(!waitpid(d_pid, &status, WNOHANG)) { - kill(d_pid, 9); - waitpid(d_pid, &status, 0); + if(d_pid){ + if(!waitpid(d_pid, &status, WNOHANG)) { + kill(d_pid, 9); + waitpid(d_pid, &status, 0); + } } close(d_fd1[1]); -- 2.40.0