X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fmount%2Fnetwork.c;h=806344c399dd92d4f3b5ebe8d8f67ea9099c6061;hp=2db694d2541bb1a8acfe8d3956bbc14d1de8a84f;hb=33bbeabb40d11a59266e0702adaa6a2e0acb6382;hpb=92e4d5c342f15940362fc2b2df19df0893f0dd13 diff --git a/utils/mount/network.c b/utils/mount/network.c index 2db694d..806344c 100644 --- a/utils/mount/network.c +++ b/utils/mount/network.c @@ -36,6 +36,7 @@ #include #include +#include #include #include #include @@ -705,7 +706,18 @@ int start_statd(void) #ifdef START_STATD if (stat(START_STATD, &stb) == 0) { if (S_ISREG(stb.st_mode) && (stb.st_mode & S_IXUSR)) { - system(START_STATD); + pid_t pid = fork(); + switch (pid) { + case 0: /* child */ + execl(START_STATD, START_STATD, NULL); + exit(1); + case -1: /* error */ + perror("Fork failed"); + break; + default: /* parent */ + waitpid(pid, NULL,0); + break; + } if (probe_statd()) return 1; }