summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pkg_install/lib/pen.c
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1995-04-26 07:43:35 +0000
committerjkh <jkh@FreeBSD.org>1995-04-26 07:43:35 +0000
commitfc953cf02d13a1d5cb260b017b59d093ae8ec9e8 (patch)
tree956bb8797dd442a25e12e30191cbe71146418c81 /usr.sbin/pkg_install/lib/pen.c
parentc44d8d839255674d88dd0ff7f8864f9ff1de16e3 (diff)
downloadFreeBSD-src-fc953cf02d13a1d5cb260b017b59d093ae8ec9e8.zip
FreeBSD-src-fc953cf02d13a1d5cb260b017b59d093ae8ec9e8.tar.gz
Check dependencies BEFORE doing final extraction of package.
Fix a bug where direct-extract mode would have still invoked the packing list reordering commands.
Diffstat (limited to 'usr.sbin/pkg_install/lib/pen.c')
-rw-r--r--usr.sbin/pkg_install/lib/pen.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/usr.sbin/pkg_install/lib/pen.c b/usr.sbin/pkg_install/lib/pen.c
index 07ba4aa..37f36ce 100644
--- a/usr.sbin/pkg_install/lib/pen.c
+++ b/usr.sbin/pkg_install/lib/pen.c
@@ -1,5 +1,5 @@
#ifndef lint
-static const char *rcsid = "$Id: pen.c,v 1.11 1995/04/21 06:30:41 jkh Exp $";
+static const char *rcsid = "$Id: pen.c,v 1.12 1995/04/22 13:58:44 jkh Exp $";
#endif
/*
@@ -23,6 +23,7 @@ static const char *rcsid = "$Id: pen.c,v 1.11 1995/04/21 06:30:41 jkh Exp $";
*/
#include "lib.h"
+#include <sys/signal.h>
#include <sys/param.h>
#include <sys/mount.h>
@@ -72,6 +73,10 @@ make_playpen(char *pen, size_t sz)
void
leave_playpen(void)
{
+ void (*oldsig)(int);
+
+ /* Don't interrupt while we're cleaning up */
+ oldsig = signal(SIGINT, SIG_IGN);
if (Cwd[0]) {
if (chdir(Cwd) == FAIL)
barf("Can't chdir back to '%s'.", Cwd);
@@ -79,6 +84,7 @@ leave_playpen(void)
fprintf(stderr, "Couldn't remove temporary dir '%s'\n", Pen);
Cwd[0] = '\0';
}
+ signal(SIGINT, oldsig);
}
/* Accessor function for telling us where the pen is */
OpenPOWER on IntegriCloud