On Fri, Jan 30, 2009 at 09:13:00AM +0100, Johannes Sixt wrote: > Jeff King schrieb: > > One fix would be to just "signal(SIGINT, SIG_DFL)" at the top. But I > > think it makes the test cleaner to just switch to a more reliable > > signal. The patch would look something like what is below. But I need to > > know what exit code Windows generates for SIGTERM. Johannes? > > The same as with SIGINT: 3. Hmm. Clever. Junio, can you apply this on top of the jk/signal-cleanup topic? -- >8 -- Subject: [PATCH] t0005: use SIGTERM for sigchain test The signal tests consists of checking that each of our handlers is executed, and that the test program was killed by the final signal. We arbitrarily used SIGINT as the kill signal. However, some platforms (notably Solaris) will default SIGINT to SIG_IGN if there is no controlling terminal. In that case, we don't end up killing the program with the final signal and the test fails. This is a problem since the test script should not depend on outside factors; let's use SIGTERM instead, which should behave consistently. Signed-off-by: Jeff King <peff@xxxxxxxx> --- t/t0005-signals.sh | 2 +- test-sigchain.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/t/t0005-signals.sh b/t/t0005-signals.sh index 9707af7..09f855a 100755 --- a/t/t0005-signals.sh +++ b/t/t0005-signals.sh @@ -12,7 +12,7 @@ EOF test_expect_success 'sigchain works' ' test-sigchain >actual case "$?" in - 130) true ;; # POSIX w/ SIGINT=2 + 143) true ;; # POSIX w/ SIGTERM=15 3) true ;; # Windows *) false ;; esac && diff --git a/test-sigchain.c b/test-sigchain.c index 8747dea..42db234 100644 --- a/test-sigchain.c +++ b/test-sigchain.c @@ -14,9 +14,9 @@ X(three) #undef X int main(int argc, char **argv) { - sigchain_push(SIGINT, one); - sigchain_push(SIGINT, two); - sigchain_push(SIGINT, three); - raise(SIGINT); + sigchain_push(SIGTERM, one); + sigchain_push(SIGTERM, two); + sigchain_push(SIGTERM, three); + raise(SIGTERM); return 0; } -- 1.6.1.2.420.ga6a64.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html