diff options
author | Ian Moffett <ian@osmora.org> | 2025-10-13 16:26:27 -0400 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2025-10-13 16:26:27 -0400 |
commit | 248ff808e2f75611d8d73e7aabfac4bee96ebac5 (patch) | |
tree | 69f4bff974abc25ef94389974d5a9eccc08386d2 /src/cmd/hush | |
parent | 99c409625cea6c97d898c8baa28635b1c741dc34 (diff) |
cmd: hush: Wait for commands to finish
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'src/cmd/hush')
-rw-r--r-- | src/cmd/hush/hush.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cmd/hush/hush.c b/src/cmd/hush/hush.c index 3d623df..9bd248f 100644 --- a/src/cmd/hush/hush.c +++ b/src/cmd/hush/hush.c @@ -27,6 +27,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ +#include <sys/wait.h> #include <sys/spawn.h> #include <sys/iotap.h> #include <stdio.h> @@ -98,7 +99,7 @@ main(void) char *argv[2]; char buf[128]; char binpath[256]; - int error; + int pid; argv[0] = binpath; argv[1] = NULL; @@ -109,10 +110,11 @@ main(void) write(STDOUT_FILENO, "\n", 1); snprintf(binpath, sizeof(binpath), "/usr/bin/%s", buf); - if ((error = spawn(argv[0], argv)) < 0) { + if ((pid = spawn(argv[0], argv)) < 0) { printf("unknown command \"%s\"\n", buf); } + waitpid(pid, NULL, 0); buf[0] = '\0'; memset(buf, 0, sizeof(buf)); } |