summaryrefslogtreecommitdiff
path: root/apt-pkg/contrib
diff options
context:
space:
mode:
authorMichael Vogt <mvo@debian.org>2005-01-20 12:06:58 +0000
committerMichael Vogt <mvo@debian.org>2005-01-20 12:06:58 +0000
commitd3fbe3fe7968190312c953ee7ba0c567be33ef09 (patch)
treed52419c9d0e79425cca4dd35ccaeba5abaa330cc /apt-pkg/contrib
parent67073e88fc4654be702fe3b176e94b86a484a858 (diff)
parenta2a5cd159fad8f9d07d31f791e89e1fdf672cdd9 (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/contrib')
-rw-r--r--apt-pkg/contrib/fileutl.cc5
-rw-r--r--apt-pkg/contrib/fileutl.h2
2 files changed, 4 insertions, 3 deletions
diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc
index 7c9f5c0dd..92181472c 100644
--- a/apt-pkg/contrib/fileutl.cc
+++ b/apt-pkg/contrib/fileutl.cc
@@ -306,7 +306,7 @@ bool WaitFd(int Fd,bool write,unsigned long timeout)
/* This is used if you want to cleanse the environment for the forked
child, it fixes up the important signals and nukes all of the fds,
otherwise acts like normal fork. */
-pid_t ExecFork()
+pid_t ExecFork(int dontCloseThisFd)
{
// Fork off the process
pid_t Process = fork();
@@ -329,7 +329,8 @@ pid_t ExecFork()
// Close all of our FDs - just in case
for (int K = 3; K != 40; K++)
- fcntl(K,F_SETFD,FD_CLOEXEC);
+ if(K != dontCloseThisFd)
+ fcntl(K,F_SETFD,FD_CLOEXEC);
}
return Process;
diff --git a/apt-pkg/contrib/fileutl.h b/apt-pkg/contrib/fileutl.h
index 041aa3309..4716e261e 100644
--- a/apt-pkg/contrib/fileutl.h
+++ b/apt-pkg/contrib/fileutl.h
@@ -87,7 +87,7 @@ string SafeGetCWD();
void SetCloseExec(int Fd,bool Close);
void SetNonBlock(int Fd,bool Block);
bool WaitFd(int Fd,bool write = false,unsigned long timeout = 0);
-pid_t ExecFork();
+pid_t ExecFork(int dontCloseThisFd=-1);
bool ExecWait(pid_t Pid,const char *Name,bool Reap = false);
// File string manipulators