AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS(fcntl.h limits.h strings.h time.h sys/ioctl.h sys/time.h unistd.h)
AC_CHECK_HEADERS(linux/ppdev.h sys/mman.h sys/select.h sys/types.h)
-AC_CHECK_HEADERS(sys/resource.h stdint.h sched.h)
+AC_CHECK_HEADERS(sys/resource.h stdint.h sched.h signal.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_FUNC_VPRINTF
AC_CHECK_FUNCS([mmap select socket strcspn strerror strspn getpagesize sysconf])
AC_CHECK_FUNCS([snprintf gettimeofday nanosleep sched_setscheduler])
-AC_CHECK_FUNCS([modf sqrt])
+AC_CHECK_FUNCS([modf sqrt sigaction sigprocmask])
AC_CHECK_LIB(m, sincos, [AC_DEFINE([HAVE_SINCOS],[1],[Define to 1 if your system has `sincos'.])])
AC_CHECK_LIB(m, sincosf,[AC_DEFINE([HAVE_SINCOSF],[1],[Define to 1 if your system has `sincosf'.])])
#include "config.h"
#endif
-#define GR_RUNTIME_IMPL_DEBUG 0
-
#include <gr_runtime_impl.h>
#include <gr_simple_flowgraph.h>
#include <gr_hier_block2.h>
#include <gr_hier_block2_detail.h>
+
+#ifdef HAVE_SIGNAL_H
#include <signal.h>
+#endif
+
#include <stdexcept>
#include <iostream>
+#define GR_RUNTIME_IMPL_DEBUG 0
+
gr_runtime_impl::gr_runtime_impl(gr_hier_block2_sptr top_block)
: d_running(false),
d_top_block(top_block),
// First code to run in new thread context
// Mask off SIGINT in this thread to gaurantee mainline thread gets signal
+#ifdef HAVE_SIGPROCMASK
sigset_t old_set;
sigset_t new_set;
- sigfillset(&new_set);
- sigdelset(&new_set, SIGINT);
+ sigemptyset(&new_set);
+ sigaddset(&new_set, SIGINT);
sigprocmask(SIG_BLOCK, &new_set, &old_set);
-
+#endif
// Run the single-threaded scheduler
d_sts->run();
return 0;