diff options
author | Jo-Philipp Wich <jo@mein.io> | 2019-07-26 12:37:24 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-26 12:37:24 +0200 |
commit | acba2fe9978fafaf95919987be241336c68d5c30 (patch) | |
tree | f0c7270624063c3d093fbcae434a7f1b557d3a75 | |
parent | d25f95c93dab254a7bbbb2a5e766f852f26b667b (diff) | |
parent | f3f42ff099e4657357fe58723dc5858fb6c7c329 (diff) |
Merge pull request #2883 from neheb/patch-1
address: Replace ualarm with setitimer
-rw-r--r-- | libs/luci-lib-nixio/src/address.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/luci-lib-nixio/src/address.c b/libs/luci-lib-nixio/src/address.c index 8ab4fa89c9..ed3a4a1c61 100644 --- a/libs/luci-lib-nixio/src/address.c +++ b/libs/luci-lib-nixio/src/address.c @@ -24,6 +24,7 @@ #ifdef __linux__ +#include <sys/time.h> #include <signal.h> #include <setjmp.h> #include <unistd.h> @@ -287,6 +288,7 @@ static int nixio_getnameinfo(lua_State *L) { const char *family = luaL_optstring(L, 2, NULL); #ifdef __linux__ + const struct itimerval t = { {timeout * 1000 * 1000, 0} , {0, 0} }; struct sigaction sa_new, sa_old; int timeout = luaL_optnumber(L, 3, 0); if (timeout > 0 && timeout < 1000) @@ -308,7 +310,7 @@ static int nixio_getnameinfo(lua_State *L) { return 3; } - ualarm(timeout * 1000, 0); + setitimer(ITIMER_REAL, &t, NULL); } #endif @@ -339,7 +341,7 @@ static int nixio_getnameinfo(lua_State *L) { #ifdef __linux__ if (timeout > 0 && timeout < 1000) { - ualarm(0, 0); + alarm(0); sigaction(SIGALRM, &sa_old, NULL); } #endif |