Attempt at fixing bug 815 by upgrading bb_spawn() so that builtins are at
the start of the path. (This should be under the same config option as
the standalone shell, but right now that's buried in the shell menu.)
Also add the ability to specify CONFIG_BUSYBOX_EXEC_PATH with /proc/self/exe
as an overrideable default.
diff --git a/modutils/modprobe.c b/modutils/modprobe.c
index 93e5102..698eed8 100644
--- a/modutils/modprobe.c
+++ b/modutils/modprobe.c
@@ -666,27 +666,8 @@
printf("%s module %s\n", do_insert?"Loading":"Unloading", list-> m_name );
}
if (!show_only) {
- int rc2 = 0;
- int status;
- switch (fork()) {
- case -1:
- rc2 = 1;
- break;
- case 0: //child
- execvp(argv[0], argv);
- bb_perror_msg_and_die("exec of %s", argv[0]);
- /* NOTREACHED */
- default:
- if (wait(&status) == -1) {
- rc2 = 1;
- break;
- }
- if (WIFEXITED(status))
- rc2 = WEXITSTATUS(status);
- if (WIFSIGNALED(status))
- rc2 = WTERMSIG(status);
- break;
- }
+ int rc2 = wait4pid(bb_spawn(argv));
+
if (do_insert) {
rc = rc2; /* only last module matters */
}