| ... | @@ -766,8 +766,10 @@ test "sigaction" { | ... | @@ -766,8 +766,10 @@ test "sigaction" { |
| 766 | } | 766 | } |
| 767 | }; | 767 | }; |
| 768 | | 768 | |
| | 769 | const actual_handler = if (builtin.zig_backend == .stage1) S.handler else &S.handler; |
| | 770 | |
| 769 | var sa = os.Sigaction{ | 771 | var sa = os.Sigaction{ |
| 770 | .handler = .{ .sigaction = S.handler }, | 772 | .handler = .{ .sigaction = actual_handler }, |
| 771 | .mask = os.empty_sigset, | 773 | .mask = os.empty_sigset, |
| 772 | .flags = os.SA.SIGINFO | os.SA.RESETHAND, | 774 | .flags = os.SA.SIGINFO | os.SA.RESETHAND, |
| 773 | }; | 775 | }; |
| ... | @@ -776,7 +778,7 @@ test "sigaction" { | ... | @@ -776,7 +778,7 @@ test "sigaction" { |
| 776 | try os.sigaction(os.SIG.USR1, &sa, null); | 778 | try os.sigaction(os.SIG.USR1, &sa, null); |
| 777 | // Check that we can read it back correctly. | 779 | // Check that we can read it back correctly. |
| 778 | try os.sigaction(os.SIG.USR1, null, &old_sa); | 780 | try os.sigaction(os.SIG.USR1, null, &old_sa); |
| 779 | try testing.expectEqual(S.handler, old_sa.handler.sigaction.?); | 781 | try testing.expectEqual(actual_handler, old_sa.handler.sigaction.?); |
| 780 | try testing.expect((old_sa.flags & os.SA.SIGINFO) != 0); | 782 | try testing.expect((old_sa.flags & os.SA.SIGINFO) != 0); |
| 781 | // Invoke the handler. | 783 | // Invoke the handler. |
| 782 | try os.raise(os.SIG.USR1); | 784 | try os.raise(os.SIG.USR1); |