From 96cd0558bcd69481ccc42e1b392f0c0b36fce2b0 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Wed, 28 Nov 2018 19:59:45 +0100 Subject: support: Add signal support to support_capture_subprocess_check Signal zero does not terminate a process, so it is safe to use negative values for signal numbers. Adjust libio/tst-vtables-common.c to use this new functionality, instead of determining the termination status for a signal indirectly. --- support/capture_subprocess.h | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'support/capture_subprocess.h') diff --git a/support/capture_subprocess.h b/support/capture_subprocess.h index b0886ba..4734b87 100644 --- a/support/capture_subprocess.h +++ b/support/capture_subprocess.h @@ -49,13 +49,16 @@ enum support_capture_allow sc_allow_stderr = 0x04, }; -/* Check that the subprocess exited with STATUS and that only the - allowed outputs happened. ALLOWED is a combination of - support_capture_allow flags. Report errors under the CONTEXT - message. */ +/* Check that the subprocess exited and that only the allowed outputs + happened. If STATUS_OR_SIGNAL is nonnegative, it is the expected + (decoded) exit status of the process, as returned by WEXITSTATUS. + If STATUS_OR_SIGNAL is negative, -STATUS_OR_SIGNAL is the expected + termination signal, as returned by WTERMSIG. ALLOWED is a + combination of support_capture_allow flags. Report errors under + the CONTEXT message. */ void support_capture_subprocess_check (struct support_capture_subprocess *, - const char *context, int status, - int allowed) + const char *context, + int status_or_signal, int allowed) __attribute__ ((nonnull (1, 2))); #endif /* SUPPORT_CAPTURE_SUBPROCESS_H */ -- cgit v1.1