]> rtime.felk.cvut.cz Git - orte/eurobot.git/commitdiff
Use sigwaitinfo() function only if available.
authorPavel Pisa <pisa@cmp.felk.cvut.cz>
Fri, 20 Sep 2013 13:56:16 +0000 (15:56 +0200)
committerPavel Pisa <pisa@cmp.felk.cvut.cz>
Mon, 23 Sep 2013 09:06:24 +0000 (11:06 +0200)
Resolves yet another deficiency of Bionic C library.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
configure.ac
orte/manager/ortemanager.c

index 5dcb8b38f980ec8505d20fbae13485721ffa1a27..ede98b1ad2dd27a3671d2ef365c86e5030e15d0f 100644 (file)
@@ -321,7 +321,7 @@ AC_C_INLINE
 # Checks for library functions.
 AC_PROG_GCC_TRADITIONAL
 if test -z "${CONFIG_ORTE_RT}" ; then
-AC_CHECK_FUNCS([gethostbyname getopt_long])
+AC_CHECK_FUNCS([gethostbyname getopt_long sigwaitinfo])
 fi
 
 AC_CONFIG_FILES([Makefile
index fa88433985d006aeb35137d2d7b4058bdef0ada1..910df3b9fc1c19cfd4cd958af76108f195b3e3eb 100644 (file)
@@ -91,7 +91,14 @@ void waitForEndingCommand(void) {
        sigemptyset(&sigset);
        sigaddset(&sigset, SIGINT);
        sigaddset(&sigset, SIGTERM);
-       sigwaitinfo(&sigset, NULL);
+       {
+       #ifdef HAVE_SIGWAITINFO
+               sigwaitinfo(&sigset, NULL);
+       #else /*HAVE_SIGWAITINFO*/
+               int sig;
+               sigwait(&sigset, &sig);
+       #endif /*HAVE_SIGWAITINFO*/
+       }
 }
 static int daemonInit(void) {
   pid_t pid;