diff options
Diffstat (limited to 'apt-pkg/acquire-worker.cc')
-rw-r--r-- | apt-pkg/acquire-worker.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/apt-pkg/acquire-worker.cc b/apt-pkg/acquire-worker.cc index 972ab2455..f6b14da3c 100644 --- a/apt-pkg/acquire-worker.cc +++ b/apt-pkg/acquire-worker.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: acquire-worker.cc,v 1.27 1999/08/28 01:49:56 jgg Exp $ +// $Id: acquire-worker.cc,v 1.28 1999/10/18 00:37:35 jgg Exp $ /* ###################################################################### Acquire Worker @@ -86,7 +86,10 @@ pkgAcquire::Worker::~Worker() if (Process > 0) { - kill(Process,SIGINT); + /* Closing of stdin is the signal to exit and die when the process + indicates it needs cleanup */ + if (Config->NeedsCleanup == false) + kill(Process,SIGINT); ExecWait(Process,Access.c_str(),true); } } @@ -323,6 +326,7 @@ bool pkgAcquire::Worker::Capabilities(string Message) Config->Pipeline = StringToBool(LookupTag(Message,"Pipeline"),false); Config->SendConfig = StringToBool(LookupTag(Message,"Send-Config"),false); Config->LocalOnly = StringToBool(LookupTag(Message,"Local-Only"),false); + Config->NeedsCleanup = StringToBool(LookupTag(Message,"Needs-Cleanup"),false); // Some debug text if (Debug == true) |