diff --git a/docs/README b/docs/README index 99f6f875..0e2ed404 100644 --- a/docs/README +++ b/docs/README @@ -17,7 +17,7 @@ The static version limits the allocation to configuration values and does not re REQUIREMENTS ============== -'orchestrator' runs on GNU/Linux compliant systems with 'BusyBox' (Musl is not completely supported yet). It needs GNU 'make' and a recent compiler (tested on: gcc) for basic features with the following development packages for compilation: +'orchestrator' runs on GNU/Linux compliant systems also with 'BusyBox', GNU libc, or Musl. It needs GNU 'make' and a recent compiler (tested on: gcc) for basic features with the following development packages for compilation: * libnuma-dev (NUMA manipulation) * libcap-dev (POSIX Capabilities library) * check (CHECK C based run-time test framework) diff --git a/src/lib/kernutil.c b/src/lib/kernutil.c index 7ecf7f39..b906994f 100644 --- a/src/lib/kernutil.c +++ b/src/lib/kernutil.c @@ -582,7 +582,7 @@ popen2(const char * command, const char * type, pid_t * pid) else close(fd[WRITE]); - exit(EXIT_FAILURE); + _exit(EXIT_FAILURE); // use _exit for child process to avoid parent hang! } *pid = child_pid; diff --git a/test/orchestrator/updateTest.c b/test/orchestrator/updateTest.c index 79d87ab8..ad25822d 100644 --- a/test/orchestrator/updateTest.c +++ b/test/orchestrator/updateTest.c @@ -193,11 +193,8 @@ START_TEST(orchestrator_update_stop) { pthread_t thread1; int iret1; -#ifdef BUSYBOX - int stat1 = 1; // FIXME: MUSL/BUSYBOX start halfway, when dockerlink child process is dead, hangs indefinitely -#else int stat1 = 0; -#endif + iret1 = pthread_create( &thread1, NULL, thread_update, (void*) &stat1); ck_assert_int_eq(iret1, 0); @@ -216,11 +213,8 @@ START_TEST(orchestrator_update_findprocs) { pthread_t thread1; int iret1; -#ifdef BUSYBOX - int stat1 = 1; // FIXME: MUSL/BUSYBOX start halfway, when dockerlink child process is dead, hangs indefinitely -#else int stat1 = 0; -#endif + pid_t pid1, pid2, pid3; FILE * fd1, * fd2, * fd3; @@ -274,11 +268,8 @@ START_TEST(orchestrator_update_findprocsall) { pthread_t thread1; int iret1; -#ifdef BUSYBOX - int stat1 = 1; // FIXME: MUSL/BUSYBOX start halfway, when dockerlink child process is dead, hangs indefinitely -#else int stat1 = 0; -#endif + // set detect mode to pid free (prgset->cont_pidc); prgset->cont_pidc = strdup(""); // all! @@ -304,7 +295,7 @@ START_TEST(orchestrator_update_rscs) { pthread_t thread1; int iret1; - int stat1 = 1; // FIXME: MUSL/BUSYBOX start halfway, when dockerlink child process is dead, hangs indefinitely + int stat1 = 0; pid_t pid1, pid2; FILE * fd1, * fd2;