summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2025-10-13 16:26:27 -0400
committerIan Moffett <ian@osmora.org>2025-10-13 16:26:27 -0400
commit248ff808e2f75611d8d73e7aabfac4bee96ebac5 (patch)
tree69f4bff974abc25ef94389974d5a9eccc08386d2
parent99c409625cea6c97d898c8baa28635b1c741dc34 (diff)
cmd: hush: Wait for commands to finish
Signed-off-by: Ian Moffett <ian@osmora.org>
-rw-r--r--src/cmd/hush/hush.c6
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));
}