osdep.h: Always include <sys/signal.h> if it exists

Regularize our handling of <sys/signal.h>: currently we include it in
osdep.h, but only for OpenBSD, and we include it without an ifdef
guard in a couple of C files.  This causes problems for Haiku, which
doesn't have that header.

Instead, check in configure whether sys/signal.h exists, and if it
does then always include it from osdep.h.

Signed-off-by: David Carlier <devnexen@gmail.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20200703145614.16684-5-peter.maydell@linaro.org
[PMM: Expanded commit message; rename to HAVE_SYS_SIGNAL_H]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
David CARLIER 2020-07-13 14:36:09 +01:00 committed by Peter Maydell
parent 195588ccd5
commit 2a4b472c3c
4 changed files with 11 additions and 3 deletions

10
configure vendored
View File

@ -3244,6 +3244,13 @@ if check_include "libdrm/drm.h" ; then
have_drm_h=yes
fi
#########################################
# sys/signal.h check
have_sys_signal_h=no
if check_include "sys/signal.h" ; then
have_sys_signal_h=yes
fi
##########################################
# VTE probe
@ -7433,6 +7440,9 @@ fi
if test "$have_openpty" = "yes" ; then
echo "HAVE_OPENPTY=y" >> $config_host_mak
fi
if test "$have_sys_signal_h" = "yes" ; then
echo "HAVE_SYS_SIGNAL_H=y" >> $config_host_mak
fi
# Work around a system header bug with some kernel/XFS header
# versions where they both try to define 'struct fsxattr':

View File

@ -23,7 +23,6 @@
*/
#include "qemu/osdep.h"
#include <sys/signal.h>
#include "hw/sysbus.h"
#include "hw/boards.h"

View File

@ -104,7 +104,7 @@ extern int daemon(int, int);
#include <setjmp.h>
#include <signal.h>
#ifdef __OpenBSD__
#ifdef HAVE_SYS_SIGNAL_H
#include <sys/signal.h>
#endif

View File

@ -38,7 +38,6 @@
#include "qemu/sockets.h"
#include "qemu/thread.h"
#include <libgen.h>
#include <sys/signal.h>
#include "qemu/cutils.h"
#ifdef CONFIG_LINUX