From: Felix Fietkau Date: Sun, 6 Feb 2011 01:19:54 +0000 (+0100) Subject: fix SIGINT handling X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=2e83a5fab201630b7447bffffa5c509fa7ea743b;p=oweals%2Fubus.git fix SIGINT handling --- diff --git a/libubus.c b/libubus.c index 66de478..8749d7c 100644 --- a/libubus.c +++ b/libubus.c @@ -124,6 +124,8 @@ static bool recv_retry(int fd, struct iovec *iov, bool wait) bytes = read(fd, iov->iov_base, iov->iov_len); if (bytes < 0) { bytes = 0; + if (uloop_cancelled) + return false; if (errno == EINTR) continue; diff --git a/ubus-example.c b/ubus-example.c index d2e2288..f84f2b4 100644 --- a/ubus-example.c +++ b/ubus-example.c @@ -98,6 +98,7 @@ int main(int argc, char **argv) uloop_init(); ubus_add_uloop(ctx); uloop_run(); + uloop_done(); ubus_free(ctx); return 0;