Re: [LTP] [PATCH] ppoll01: add signal() syscall to register the signal handler

K.D. Lucas
2009-09-24T20:28:30Z

[-- Attachment #1.1: Type: text/plain, Size: 3214 bytes --]

I applied this patch, and it fixed ppoll01 on an Ubuntu Hardy box which had
been failing. Kernel is 2.6.24.

Kelly

On Wed, Sep 23, 2009 at 11:59 PM, Chandru <chandru@in.ibm.com> wrote:

> The ppoll01 testcase has a signal handler in it but this signal handler is
> not registered with the kernel through the signal() syscal. The testcase
> fails when it sends a SIGINT to itself as part of one of the case of the
> test run.
> The following patch
> 1. Adds a signal() syscall to register the signal handler
> 2. Corrects the expected 'revents' for the case where ppoll() is called on
> a file which is only opened in read/write mode, i.e case00.
> 3. Takes away printing the type of error ( i.e strerror(errno) ) since it
> only prints the last error seen and does not report the failures seen in the
> cases before the last failed one. The reporting of NG or OK shoudl take care
> of
> letting the user know the cases that have passed and cases that have
> failed.
>
> Signed-off-by: Chandru S <chandru@linux.vnet.ibm.com>
> ---
>
> --- ppoll01.c.orig 2009-09-22 19:22:39.371235396 +0530
> +++ ppoll01.c 2009-09-24 01:24:38.706487228 +0530
> @@ -106,6 +106,8 @@ extern void cleanup() {
> tst_exit();
> }
>
> +void sighandler(int sig); /* signals handler function for the test
> */
> +
> /* Local Functions */
>
> /******************************************************************************/
> /*
> */
> @@ -125,7 +127,8 @@ extern void cleanup() {
> /*
> */
>
> /******************************************************************************/
> void setup() {
> - /* Capture signals if any */
> + /* Capture signals*/
> + signal(SIGINT, &sighandler);
> /* Create temporary directories */
> TEST_PAUSE;
> tst_tmpdir();
> @@ -191,7 +194,7 @@ struct test_case {
> static struct test_case tcase[] = {
> { // case00
> .ttype = NORMAL,
> - .expect_revents = POLLOUT,
> + .expect_revents = POLLOUT | POLLIN,
> .ret = 0,
> .err = 0,
> },
> @@ -463,7 +466,7 @@ int main(int ac, char **av) {
> break;
>
> default:
> - tst_resm(TFAIL, "%s failed - errno = %d :
> %s", TCID, TEST_ERRNO, strerror(TEST_ERRNO));
> + tst_resm(TFAIL, "%s failed", TCID);
> RPRINTF("NG");
> cleanup();
> tst_exit();
>
>
>
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
> http://p.sf.net/sfu/devconf
> _______________________________________________
> Ltp-list mailing list
> Ltp-list@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/ltp-list
>

--
K.D. Lucas
kdlucas@gmail.com

[-- Attachment #1.2: Type: text/html, Size: 4169 bytes --]

[-- Attachment #2: Type: text/plain, Size: 401 bytes --]

------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf

[-- Attachment #3: Type: text/plain, Size: 155 bytes --]