| ... | @@ -656,14 +656,15 @@ test "sigaction" { | ... | @@ -656,14 +656,15 @@ test "sigaction" { |
| 656 | const S = struct { | 656 | const S = struct { |
| 657 | fn handler(sig: i32, info: *const os.siginfo_t, ctx_ptr: ?*const c_void) callconv(.C) void { | 657 | fn handler(sig: i32, info: *const os.siginfo_t, ctx_ptr: ?*const c_void) callconv(.C) void { |
| 658 | // Check that we received the correct signal. | 658 | // Check that we received the correct signal. |
| 659 | signal_test_failed = info.signo == os.SIGUSR1; | 659 | if (sig == os.SIGUSR1 and sig == info.signo) |
| | 660 | signal_test_failed = false; |
| 660 | } | 661 | } |
| 661 | }; | 662 | }; |
| 662 | | 663 | |
| 663 | var sa = os.Sigaction{ | 664 | var sa = os.Sigaction{ |
| 664 | .sigaction = S.handler, | 665 | .sigaction = S.handler, |
| 665 | .mask = os.empty_sigset, | 666 | .mask = os.empty_sigset, |
| 666 | .flags = os.SA_RESETHAND, | 667 | .flags = os.SA_SIGINFO | os.SA_RESETHAND, |
| 667 | }; | 668 | }; |
| 668 | var old_sa: os.Sigaction = undefined; | 669 | var old_sa: os.Sigaction = undefined; |
| 669 | // Install the new signal handler. | 670 | // Install the new signal handler. |