diff options
author | jkh <jkh@FreeBSD.org> | 1995-04-26 07:43:35 +0000 |
---|---|---|
committer | jkh <jkh@FreeBSD.org> | 1995-04-26 07:43:35 +0000 |
commit | fc953cf02d13a1d5cb260b017b59d093ae8ec9e8 (patch) | |
tree | 956bb8797dd442a25e12e30191cbe71146418c81 /usr.sbin/pkg_install/lib/pen.c | |
parent | c44d8d839255674d88dd0ff7f8864f9ff1de16e3 (diff) | |
download | FreeBSD-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.c | 8 |
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 */ |