summaryrefslogtreecommitdiffstats
path: root/usr.sbin/sade/system.c
diff options
context:
space:
mode:
authormurray <murray@FreeBSD.org>2001-09-30 00:43:32 +0000
committermurray <murray@FreeBSD.org>2001-09-30 00:43:32 +0000
commitc605847554205a074c69591402a21d9edb6d06a7 (patch)
treeebcce6d46c875a8300f2e91f5d25d91e05774639 /usr.sbin/sade/system.c
parent20a6cccd28a63eba55eb299343b04b3ebce5e811 (diff)
downloadFreeBSD-src-c605847554205a074c69591402a21d9edb6d06a7.zip
FreeBSD-src-c605847554205a074c69591402a21d9edb6d06a7.tar.gz
Close all open file descriptors before restarting sysinstall.
PR: bin/30737 Submitted by: Alexey V. Neyman <alex.neyman@auriga.ru>
Diffstat (limited to 'usr.sbin/sade/system.c')
-rw-r--r--usr.sbin/sade/system.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/usr.sbin/sade/system.c b/usr.sbin/sade/system.c
index b1c2e8e..deb9e9f 100644
--- a/usr.sbin/sade/system.c
+++ b/usr.sbin/sade/system.c
@@ -56,8 +56,13 @@ intr_reboot(dialogMenuItem *self)
static int
intr_restart(dialogMenuItem *self)
{
- int ret;
+ int ret, fd, fdmax;
+
+ mediaClose();
free_variables();
+ fdmax = getdtablesize();
+ for (fd = 3; fd < fdmax; fd++)
+ close(fd);
ret = execl(StartName, StartName, (char *)NULL);
msgDebug("execl failed (%s)\n", strerror(errno));
/* NOTREACHED */
OpenPOWER on IntegriCloud