summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac4
-rw-r--r--mesh/main.c31
2 files changed, 11 insertions, 24 deletions
diff --git a/configure.ac b/configure.ac
index ec810fcf4..ee4199f4d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -249,8 +249,8 @@ AC_ARG_ENABLE(btpclient, AC_HELP_STRING([--enable-btpclient],
AM_CONDITIONAL(BTPCLIENT, test "${enable_btpclient}" = "yes")
if (test "${enable_btpclient}" = "yes" || test "${enable_mesh}" = "yes"); then
- PKG_CHECK_MODULES(ELL, ell >= 0.3, enable_ell=yes,
- AC_MSG_ERROR(ell library >= 0.3 is required))
+ PKG_CHECK_MODULES(ELL, ell >= 0.14, enable_ell=yes,
+ AC_MSG_ERROR(ell library >= 0.14 is required))
AC_SUBST(ELL_CFLAGS)
AC_SUBST(ELL_LIBS)
fi
diff --git a/mesh/main.c b/mesh/main.c
index 289b0582b..97f506a75 100644
--- a/mesh/main.c
+++ b/mesh/main.c
@@ -26,6 +26,7 @@
#include <stdio.h>
#include <unistd.h>
#include <ctype.h>
+#include <signal.h>
#include <sys/stat.h>
#include <ell/ell.h>
@@ -59,29 +60,22 @@ static void usage(void)
"\t--help Show %s information\n", __func__);
}
-static void signal_handler(struct l_signal *signal, uint32_t signo,
- void *user_data)
+static void signal_handler(uint32_t signo, void *user_data)
{
static bool terminated;
- switch (signo) {
- case SIGINT:
- case SIGTERM:
- if (terminated)
- return;
- l_info("Terminating");
- l_main_quit();
- terminated = true;
- break;
- }
+ if (terminated)
+ return;
+
+ l_info("Terminating");
+ l_main_quit();
+ terminated = true;
}
int main(int argc, char *argv[])
{
int status;
bool detached = true;
- struct l_signal *signal;
- sigset_t mask;
struct bt_mesh *mesh = NULL;
const char *config_file = NULL;
int index = MGMT_INDEX_NONE;
@@ -140,11 +134,6 @@ int main(int argc, char *argv[])
goto done;
}
- sigemptyset(&mask);
- sigaddset(&mask, SIGINT);
- sigaddset(&mask, SIGTERM);
- signal = l_signal_create(&mask, signal_handler, NULL, NULL);
-
umask(0077);
if (detached) {
@@ -155,9 +144,7 @@ int main(int argc, char *argv[])
}
}
- status = l_main_run();
-
- l_signal_remove(signal);
+ status = l_main_run_with_signal(signal_handler, NULL);
done:
mesh_unref(mesh);