diff options
author | Michael Vogt <mvo@debian.org> | 2005-01-20 12:06:58 +0000 |
---|---|---|
committer | Michael Vogt <mvo@debian.org> | 2005-01-20 12:06:58 +0000 |
commit | d3fbe3fe7968190312c953ee7ba0c567be33ef09 (patch) | |
tree | d52419c9d0e79425cca4dd35ccaeba5abaa330cc /apt-pkg/deb/dpkgpm.cc | |
parent | 67073e88fc4654be702fe3b176e94b86a484a858 (diff) | |
parent | a2a5cd159fad8f9d07d31f791e89e1fdf672cdd9 (diff) |
* starmeged with matt, added some comments to the unsetting of no_proxy in ftp.cc
Patches applied:
* apt@packages.debian.org/apt--main--0--patch-49
Merge michael.vogt@canonical.com--2004/apt--status-fd--0
* apt@packages.debian.org/apt--main--0--patch-50
Increment libapt-pkg version
* apt@packages.debian.org/apt--main--0--patch-51
0.6.30
* michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--base-0
tag of apt@packages.debian.org/apt--main--0--patch-32
* michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--patch-1
* michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--patch-2
* changed version of the library
* michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--patch-3
* merged with matt again
* michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--patch-4
* merged with apt--main--0 and fixed permissions in po/
* michael.vogt@canonical.com--2004/apt--status-fd--0--patch-1
tag of michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--patch-4
* michael.vogt@canonical.com--2004/apt--status-fd--0--patch-2
* merged with matt's tree
* michael.vogt@canonical.com--2004/apt--status-fd--0--patch-3
* removed a stupid "<<<" merge in the changelog
* michael.vogt@canonical.com--2004/apt--status-fd--0--patch-4
* star-merged with apt@packages.debian.org/apt--main--0
* michael.vogt@canonical.com--2004/apt--status-fd--0--patch-5
* removed the "pre-fork/post-fork" change and put it into it's own branch, star-merged with matt so that it applies cleanly
* michael.vogt@canonical.com--2004/apt--status-fd--0--patch-6
* cleaned a incorrect log-file merge
* michael.vogt@canonical.com--2004/apt--status-fd--0--patch-7
* removed a conflict in =tagging-method
* michael.vogt@canonical.com--2004/apt--status-fd--0--patch-8
* cleaned up the delta so that it no longer contains unreleated whitespace changes
Diffstat (limited to 'apt-pkg/deb/dpkgpm.cc')
-rw-r--r-- | apt-pkg/deb/dpkgpm.cc | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 85d46edba..61c48dcbb 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -326,7 +326,7 @@ bool pkgDPkgPM::RunScriptsWithPkgs(const char *Cnf) // DPkgPM::Go - Run the sequence /*{{{*/ // --------------------------------------------------------------------- /* This globs the operations and calls dpkg */ -bool pkgDPkgPM::Go() +bool pkgDPkgPM::Go(int status_fd) { unsigned int MaxArgs = _config->FindI("Dpkg::MaxArgs",8*1024); unsigned int MaxArgBytes = _config->FindI("Dpkg::MaxArgBytes",32*1024); @@ -367,6 +367,17 @@ bool pkgDPkgPM::Go() } } + // if we got a status_fd argument, we pass it to apt + char status_fd_buf[20]; + if(status_fd > 0) + { + Args[n++] = "--status-fd"; + Size += strlen(Args[n-1]); + snprintf(status_fd_buf,20,"%i",status_fd); + Args[n++] = status_fd_buf; + Size += strlen(Args[n-1]); + } + switch (I->Op) { case Item::Remove: @@ -440,7 +451,11 @@ bool pkgDPkgPM::Go() sighandler_t old_SIGINT = signal(SIGINT,SIG_IGN); // Fork dpkg - pid_t Child = ExecFork(); + pid_t Child; + if(status_fd > 0) + Child = ExecFork(status_fd); + else + Child = ExecFork(); // This is the child if (Child == 0) |