mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-01 23:03:54 -06:00
qemu-timer: Check for usable fields for SIGEV_THREAD_ID
Older glibc (RHEL 5.x, Debian 5.x) does not have the _sigev_un._tid member in its structure definition, while the accompanying kernel headers do define SIGEV_THREAD_ID. We need configure to check for both before using it. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
44b37ace06
commit
1e9737da4a
2 changed files with 24 additions and 2 deletions
|
@ -494,12 +494,12 @@ static int dynticks_start_timer(struct qemu_alarm_timer *t)
|
|||
memset(&ev, 0, sizeof(ev));
|
||||
ev.sigev_value.sival_int = 0;
|
||||
ev.sigev_notify = SIGEV_SIGNAL;
|
||||
#ifdef SIGEV_THREAD_ID
|
||||
#ifdef CONFIG_SIGEV_THREAD_ID
|
||||
if (qemu_signalfd_available()) {
|
||||
ev.sigev_notify = SIGEV_THREAD_ID;
|
||||
ev._sigev_un._tid = qemu_get_thread_id();
|
||||
}
|
||||
#endif /* SIGEV_THREAD_ID */
|
||||
#endif /* CONFIG_SIGEV_THREAD_ID */
|
||||
ev.sigev_signo = SIGALRM;
|
||||
|
||||
if (timer_create(CLOCK_REALTIME, &ev, &host_timer)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue