From 43cb8a7cb93931496071f3ec7aa0f9bc83cf82e6 Mon Sep 17 00:00:00 2001 From: des Date: Tue, 13 Oct 1998 15:14:37 +0000 Subject: One vfork() changed to fork(); one execl() changed to execv(). The latter isn't actually called as far as I can see since FreeBSD uses termcap and not terminfo. --- usr.bin/window/wwspawn.c | 4 ++-- usr.bin/window/wwterminfo.c | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'usr.bin/window') diff --git a/usr.bin/window/wwspawn.c b/usr.bin/window/wwspawn.c index 57e2f66..3588dd8 100644 --- a/usr.bin/window/wwspawn.c +++ b/usr.bin/window/wwspawn.c @@ -42,7 +42,7 @@ static char sccsid[] = "@(#)wwspawn.c 8.1 (Berkeley) 6/6/93"; #include /* - * There is a dead lock with vfork and closing of pseudo-ports. + * There is a dead lock with fork and closing of pseudo-ports. * So we have to be sneaky about error reporting. */ wwspawn(wp, file, argv) @@ -56,7 +56,7 @@ char **argv; int s; s = sigblock(sigmask(SIGCHLD)); - switch (pid = vfork()) { + switch (pid = fork()) { case -1: wwerrno = WWE_SYS; ret = -1; diff --git a/usr.bin/window/wwterminfo.c b/usr.bin/window/wwterminfo.c index d814452..89994c0 100644 --- a/usr.bin/window/wwterminfo.c +++ b/usr.bin/window/wwterminfo.c @@ -91,13 +91,17 @@ wwterminfoinit() */ wwterminfoend() { - + char *args[4]; + args[0] = _PATH_RM; + args[1] = "-rf"; + args[2] = wwterminfopath; + args[3] = NULL; switch (vfork()) { case -1: /* can't really do (or say) anything about errors */ return -1; case 0: - execl(_PATH_RM, _PATH_RM, "-rf", wwterminfopath, 0); + execv(args[0], args); _exit(0); default: wait(NULL); -- cgit v1.1