aboutsummaryrefslogtreecommitdiff
path: root/modutils/modprobe.c
diff options
context:
space:
mode:
Diffstat (limited to 'modutils/modprobe.c')
-rw-r--r--modutils/modprobe.c23
1 files changed, 2 insertions, 21 deletions
diff --git a/modutils/modprobe.c b/modutils/modprobe.c
index 93e510293..698eed84a 100644
--- a/modutils/modprobe.c
+++ b/modutils/modprobe.c
@@ -666,27 +666,8 @@ static int mod_process ( struct mod_list_t *list, int do_insert )
666 printf("%s module %s\n", do_insert?"Loading":"Unloading", list-> m_name ); 666 printf("%s module %s\n", do_insert?"Loading":"Unloading", list-> m_name );
667 } 667 }
668 if (!show_only) { 668 if (!show_only) {
669 int rc2 = 0; 669 int rc2 = wait4pid(bb_spawn(argv));
670 int status; 670
671 switch (fork()) {
672 case -1:
673 rc2 = 1;
674 break;
675 case 0: //child
676 execvp(argv[0], argv);
677 bb_perror_msg_and_die("exec of %s", argv[0]);
678 /* NOTREACHED */
679 default:
680 if (wait(&status) == -1) {
681 rc2 = 1;
682 break;
683 }
684 if (WIFEXITED(status))
685 rc2 = WEXITSTATUS(status);
686 if (WIFSIGNALED(status))
687 rc2 = WTERMSIG(status);
688 break;
689 }
690 if (do_insert) { 671 if (do_insert) {
691 rc = rc2; /* only last module matters */ 672 rc = rc2; /* only last module matters */
692 } 673 }