SIGABRT should use signal(SIGABRT, sigabrt_handler) to handle on win32
The error:
E:/CI-Cor-Ready/xemu/qemu.org/tests/test-replication.c:559:33: error: invalid use of undefined type 'struct sigaction'
559 | sigact = (struct sigaction) {
| ^
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
---
tests/test-replication.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/tests/test-replication.c b/tests/test-replication.c
index e0b03dafc2..9ab3666a90 100644
--- a/tests/test-replication.c
+++ b/tests/test-replication.c
@@ -554,6 +554,9 @@ static void sigabrt_handler(int signo)
static void setup_sigabrt_handler(void)
{
+#ifdef _WIN32
+ signal(SIGABRT, sigabrt_handler);
+#else
struct sigaction sigact;
sigact = (struct sigaction) {
@@ -562,6 +565,7 @@ static void setup_sigabrt_handler(void)
};
sigemptyset(&sigact.sa_mask);
sigaction(SIGABRT, &sigact, NULL);
+#endif
}
int main(int argc, char **argv)
--
2.27.0.windows.1
On 02/09/20 19:00, Yonggang Luo wrote:
> SIGABRT should use signal(SIGABRT, sigabrt_handler) to handle on win32
>
> The error:
> E:/CI-Cor-Ready/xemu/qemu.org/tests/test-replication.c:559:33: error: invalid use of undefined type 'struct sigaction'
> 559 | sigact = (struct sigaction) {
> | ^
>
> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> ---
> tests/test-replication.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/tests/test-replication.c b/tests/test-replication.c
> index e0b03dafc2..9ab3666a90 100644
> --- a/tests/test-replication.c
> +++ b/tests/test-replication.c
> @@ -554,6 +554,9 @@ static void sigabrt_handler(int signo)
>
> static void setup_sigabrt_handler(void)
> {
> +#ifdef _WIN32
> + signal(SIGABRT, sigabrt_handler);
> +#else
> struct sigaction sigact;
>
> sigact = (struct sigaction) {
> @@ -562,6 +565,7 @@ static void setup_sigabrt_handler(void)
> };
> sigemptyset(&sigact.sa_mask);
> sigaction(SIGABRT, &sigact, NULL);
> +#endif
> }
>
> int main(int argc, char **argv)
>
This is already fixed by a patch from Thomas.
Paolo
OK, waiting for it upstream.
On Thu, Sep 3, 2020 at 1:04 AM Paolo Bonzini <pbonzini@redhat.com> wrote:
> On 02/09/20 19:00, Yonggang Luo wrote:
> > SIGABRT should use signal(SIGABRT, sigabrt_handler) to handle on win32
> >
> > The error:
> > E:/CI-Cor-Ready/xemu/qemu.org/tests/test-replication.c:559:33: error:
> invalid use of undefined type 'struct sigaction'
> > 559 | sigact = (struct sigaction) {
> > | ^
> >
> > Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> > ---
> > tests/test-replication.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/tests/test-replication.c b/tests/test-replication.c
> > index e0b03dafc2..9ab3666a90 100644
> > --- a/tests/test-replication.c
> > +++ b/tests/test-replication.c
> > @@ -554,6 +554,9 @@ static void sigabrt_handler(int signo)
> >
> > static void setup_sigabrt_handler(void)
> > {
> > +#ifdef _WIN32
> > + signal(SIGABRT, sigabrt_handler);
> > +#else
> > struct sigaction sigact;
> >
> > sigact = (struct sigaction) {
> > @@ -562,6 +565,7 @@ static void setup_sigabrt_handler(void)
> > };
> > sigemptyset(&sigact.sa_mask);
> > sigaction(SIGABRT, &sigact, NULL);
> > +#endif
> > }
> >
> > int main(int argc, char **argv)
> >
>
> This is already fixed by a patch from Thomas.
>
> Paolo
>
>
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
On 02/09/2020 19.04, Paolo Bonzini wrote:
> On 02/09/20 19:00, Yonggang Luo wrote:
>> SIGABRT should use signal(SIGABRT, sigabrt_handler) to handle on win32
>>
>> The error:
>> E:/CI-Cor-Ready/xemu/qemu.org/tests/test-replication.c:559:33: error: invalid use of undefined type 'struct sigaction'
>> 559 | sigact = (struct sigaction) {
>> | ^
>>
>> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
>> ---
>> tests/test-replication.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/tests/test-replication.c b/tests/test-replication.c
>> index e0b03dafc2..9ab3666a90 100644
>> --- a/tests/test-replication.c
>> +++ b/tests/test-replication.c
>> @@ -554,6 +554,9 @@ static void sigabrt_handler(int signo)
>>
>> static void setup_sigabrt_handler(void)
>> {
>> +#ifdef _WIN32
>> + signal(SIGABRT, sigabrt_handler);
>> +#else
>> struct sigaction sigact;
>>
>> sigact = (struct sigaction) {
>> @@ -562,6 +565,7 @@ static void setup_sigabrt_handler(void)
>> };
>> sigemptyset(&sigact.sa_mask);
>> sigaction(SIGABRT, &sigact, NULL);
>> +#endif
>> }
>>
>> int main(int argc, char **argv)
>>
>
> This is already fixed by a patch from Thomas.
Well, my patch was to simply disable test-replication on Windows ... if
it is working with this modification here, that's certainly better than
disabling it.
Thomas
Yes, I guess that's true. I will queue it instead.
Paolo
Il gio 3 set 2020, 07:58 Thomas Huth <thuth@redhat.com> ha scritto:
> On 02/09/2020 19.04, Paolo Bonzini wrote:
> > On 02/09/20 19:00, Yonggang Luo wrote:
> >> SIGABRT should use signal(SIGABRT, sigabrt_handler) to handle on win32
> >>
> >> The error:
> >> E:/CI-Cor-Ready/xemu/qemu.org/tests/test-replication.c:559:33: error:
> invalid use of undefined type 'struct sigaction'
> >> 559 | sigact = (struct sigaction) {
> >> | ^
> >>
> >> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> >> ---
> >> tests/test-replication.c | 4 ++++
> >> 1 file changed, 4 insertions(+)
> >>
> >> diff --git a/tests/test-replication.c b/tests/test-replication.c
> >> index e0b03dafc2..9ab3666a90 100644
> >> --- a/tests/test-replication.c
> >> +++ b/tests/test-replication.c
> >> @@ -554,6 +554,9 @@ static void sigabrt_handler(int signo)
> >>
> >> static void setup_sigabrt_handler(void)
> >> {
> >> +#ifdef _WIN32
> >> + signal(SIGABRT, sigabrt_handler);
> >> +#else
> >> struct sigaction sigact;
> >>
> >> sigact = (struct sigaction) {
> >> @@ -562,6 +565,7 @@ static void setup_sigabrt_handler(void)
> >> };
> >> sigemptyset(&sigact.sa_mask);
> >> sigaction(SIGABRT, &sigact, NULL);
> >> +#endif
> >> }
> >>
> >> int main(int argc, char **argv)
> >>
> >
> > This is already fixed by a patch from Thomas.
>
> Well, my patch was to simply disable test-replication on Windows ... if
> it is working with this modification here, that's certainly better than
> disabling it.
>
> Thomas
>
>
© 2016 - 2025 Red Hat, Inc.