Software /
code /
prosody
Changeset
13618:3118dc02f908
util.signal: Factor out single #define that enables signalfd(2) use
Makes it easier to test by disabling this #define
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 10 Jan 2025 12:31:27 +0100 |
parents | 13617:7722a3aa2ff5 |
children | 13619:981bbe358771 |
files | util-src/signal.c |
diffstat | 1 files changed, 10 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/util-src/signal.c Fri Jan 10 03:18:46 2025 +0100 +++ b/util-src/signal.c Fri Jan 10 12:31:27 2025 +0100 @@ -30,10 +30,14 @@ #define _GNU_SOURCE #endif +#ifdef __linux__ +#define HAVE_SIGNALFD +#endif + #include <signal.h> #include <stdlib.h> #include <unistd.h> -#ifdef __linux__ +#ifdef HAVE_SIGNALFD #include <sys/signalfd.h> #endif @@ -375,12 +379,12 @@ struct lsignalfd { int fd; sigset_t mask; -#ifndef __linux__ +#ifndef HAVE_SIGNALFD int write_fd; #endif }; -#ifndef __linux__ +#ifndef HAVE_SIGNALFD #define MAX_SIGNALFD 32 struct lsignalfd signalfds[MAX_SIGNALFD]; static int signalfd_num = 0; @@ -400,7 +404,7 @@ sigemptyset(&sfd->mask); sigaddset(&sfd->mask, sig); -#ifdef __linux__ +#ifdef HAVE_SIGNALFD if (sigprocmask(SIG_BLOCK, &sfd->mask, NULL) != 0) { lua_pushnil(L); return 1; @@ -455,7 +459,7 @@ static int l_signalfd_read(lua_State *L) { struct lsignalfd *sfd = luaL_checkudata(L, 1, "signalfd"); -#ifdef __linux__ +#ifdef HAVE_SIGNALFD struct signalfd_siginfo siginfo; if(read(sfd->fd, &siginfo, sizeof(siginfo)) < 0) { @@ -487,7 +491,7 @@ return 1; } -#ifndef __linux__ +#ifndef HAVE_SIGNALFD if(close(sfd->write_fd) != 0) { lua_pushboolean(L, 0);