[pacman-dev] [PATCH 4/5] Fix build error when SIGPOLL is not available

Allan McRae allan at archlinux.org
Mon Apr 19 07:21:15 UTC 2021


On 17/4/21 1:45 pm, Mark Weiman wrote:
> On Linux, SIGPOLL is a valid signal, but on systems like FreeBSD, it is
> not. This patch does a preprocessor check to see if SIGPOLL is available
> or not.
> 
> Signed-off-by: Mark Weiman <mark.weiman at markzz.com>
> ---
> This is a modified patch where formatting is addressed and the check for
> SIGPOLL is done as a preprocessor macro rather than in meson.
> 
>  lib/libalpm/util.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c
> index 46c1d0a1..1d9d85dd 100644
> --- a/lib/libalpm/util.c
> +++ b/lib/libalpm/util.c
> @@ -558,8 +558,12 @@ static void _alpm_reset_signals(void)
>  	int *i, signals[] = {
>  		SIGABRT, SIGALRM, SIGBUS, SIGCHLD, SIGCONT, SIGFPE, SIGHUP, SIGILL,
>  		SIGINT, SIGKILL, SIGPIPE, SIGQUIT, SIGSEGV, SIGSTOP, SIGTERM, SIGTSTP,
> -		SIGTTIN, SIGTTOU, SIGUSR1, SIGUSR2, SIGPOLL, SIGPROF, SIGSYS, SIGTRAP,
> -		SIGURG, SIGVTALRM, SIGXCPU, SIGXFSZ,
> +		SIGTTIN, SIGTTOU, SIGUSR1, SIGUSR2, SIGPROF, SIGSYS, SIGTRAP, SIGURG,
> +		SIGVTALRM, SIGXCPU, SIGXFSZ,
> +#if defined(SIGPOLL)
> +		/* this is needed for FreeBSD et al. */

This comment made me thing SIGPOLL was a BSD specific signal. I changed
the comment to make the issue more clear:

+		/* Not available on FreeBSD et al. */

> +		SIGPOLL,
> +#endif
>  		0
>  	};
>  	struct sigaction def;
> 


More information about the pacman-dev mailing list