aboutsummaryrefslogtreecommitdiff
path: root/release/sysinstall/user.c
diff options
context:
space:
mode:
authorJordan K. Hubbard <jkh@FreeBSD.org>1997-01-24 19:24:51 +0000
committerJordan K. Hubbard <jkh@FreeBSD.org>1997-01-24 19:24:51 +0000
commit5214787fd545d0b4fd9880d8f719e997ab70476a (patch)
treedd1c8a0c2facff37bca8e7cce5cbf8da441b17ba /release/sysinstall/user.c
parentd9cca175bcb23e8ff64c3cd99a0948ba07e8f518 (diff)
downloadsrc-5214787fd545d0b4fd9880d8f719e997ab70476a.tar.gz
src-5214787fd545d0b4fd9880d8f719e997ab70476a.zip
OK, I've got two ideas to file in the "really seemed like a good idea
at the time, but on further reflection..." bucket with these changes. 1. Checking the media before frobbing the disks was a fine idea, and I wish it could have worked, but that leads to a rather difficult situation when you need to mount the media someplace and you're about to: a) Chroot away from your present root. b) Newfs the root to be. You're basically screwed since there's no place to stick the mount point where it will be found following the newfs/chroot (and eliminating the chroot in favor of just using the "root bias" feature would work great for the distributions but not the pkg_add calls done by the package installer). 2. Automatic timeout handling. I don't know why, but alarm() frequently returns no residual even when the alarm didn't go off, which defies the man page but hey, since when was that so unusual? Take out timeouts but retain the code which temporarily replaces the SIGINT handler in favor of a more media-specific handler. This way, at least, if it's hanging you can at least whap it. I think the timeout code would have been losing over *really slow* links anyway, so it's probably best that it go. This should fix NFS, tape & CDROM installs again (serves me right for getting complacent and using just the FTP installs in my testing).
Notes
Notes: svn path=/head/; revision=21976
Diffstat (limited to 'release/sysinstall/user.c')
-rw-r--r--release/sysinstall/user.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/release/sysinstall/user.c b/release/sysinstall/user.c
index 1c1775058dda..6c42ecc9e213 100644
--- a/release/sysinstall/user.c
+++ b/release/sysinstall/user.c
@@ -225,7 +225,6 @@ completeGroup(void)
for (i = getdtablesize(); i > 2; i--)
close(i);
- chroot(variable_get(VAR_INSTALL_ROOT));
execv("/usr/sbin/pw", vec);
msgDebug("Cannot execv() /usr/sbin/pw.\n");
_exit(99);
@@ -291,7 +290,6 @@ addGroup(WINDOW *ds_win)
else
vec[VEC_GID - 1] = 0;
- chroot(variable_get(VAR_INSTALL_ROOT));
execv("/usr/sbin/pw", vec);
msgDebug("Cannot execv() /usr/sbin/pw.\n");
_exit(99);
@@ -482,7 +480,6 @@ completeUser(void)
vec[VEC_UNAME] = uname;
- chroot(variable_get(VAR_INSTALL_ROOT));
execv("/usr/sbin/pw", vec);
msgDebug("Cannot execv() /usr/sbin/pw.\n");
_exit(99);
@@ -589,7 +586,6 @@ addUser(WINDOW *ds_win)
}
vec[i] = 0;
- chroot(variable_get(VAR_INSTALL_ROOT));
execv("/usr/sbin/pw", vec);
msgDebug("Cannot execv() /usr/sbin/pw.\n");
_exit(99);