mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
cpus: remove ugly cast on sigbus_handler
The cast is there because sigbus_handler is invoked via sigfd_handler. But it feels just wrong to use struct qemu_signalfd_siginfo in the prototype of a function that is passed to sigaction. Instead, do a simple-minded conversion of qemu_signalfd_siginfo to siginfo_t. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
30f3dda24b
commit
d98d407234
6 changed files with 65 additions and 56 deletions
|
@ -34,8 +34,6 @@
|
|||
|
||||
#ifndef _WIN32
|
||||
|
||||
#include "qemu/compatfd.h"
|
||||
|
||||
/* If we have signalfd, we mask out the signals we want to handle and then
|
||||
* use signalfd to listen for them. We rely on whatever the current signal
|
||||
* handler is to dispatch the signals when we receive them.
|
||||
|
@ -63,8 +61,7 @@ static void sigfd_handler(void *opaque)
|
|||
|
||||
sigaction(info.ssi_signo, NULL, &action);
|
||||
if ((action.sa_flags & SA_SIGINFO) && action.sa_sigaction) {
|
||||
action.sa_sigaction(info.ssi_signo,
|
||||
(siginfo_t *)&info, NULL);
|
||||
sigaction_invoke(&action, &info);
|
||||
} else if (action.sa_handler) {
|
||||
action.sa_handler(info.ssi_signo);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue