public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: liubo <liubo-fnst@cn.fujitsu.com>
To: ltp-list@lists.sourceforge.net
Cc: Mike Frysinger <vapier@gentoo.org>
Subject: Re: [LTP] [PATCH] ppoll01: Fix to set the signal handler of SIGINT
Date: Tue, 13 Oct 2009 17:40:44 +0800	[thread overview]
Message-ID: <4AD44B1C.4000103@cn.fujitsu.com> (raw)
In-Reply-To: <200910121436.26663.vapier@gentoo.org>


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

On 12/24/-28158 03:59 AM, Mike Frysinger wrote:
> On Monday 12 October 2009 14:28:02 Garrett Cooper wrote:
>   
>> On Mon, Oct 12, 2009 at 2:39 AM, liubo <liubo-fnst@cn.fujitsu.com> wrote:
>>     
>>> The test case ppoll01 does not register the signal handler
>>> of SIGINT, so the program will be terminated by SIGINT
>>> from child process.
>>>
>>> Then, the rest cases will not be tested.
>>>
>>> This patch fixed the problem.
>>>
>>> --- a/testcases/kernel/syscalls/ppoll/ppoll01.c
>>> +++ b/testcases/kernel/syscalls/ppoll/ppoll01.c
>>> @@ -124,9 +124,17 @@ extern void cleanup() {
>>> +/*
>>> + * sighandler()
>>> + */
>>> +void sighandler(int sig)
>>> +{
>>> +       return;
>>> +}
>>>  void setup() {
>>>         /* Capture signals if any */
>>> -        /* Create temporary directories */
>>> +       signal(SIGINT, sighandler);
>>> +       /* Create temporary directories */
>>>         TEST_PAUSE;
>>>         tst_tmpdir();
>>>  }
>>> @@ -404,16 +412,6 @@ TEST_END:
>>>  }
>>>
>>>
>>> -/*
>>> - * sighandler()
>>> - */
>>> -void sighandler(int sig)
>>> -{
>>> -        if (sig == SIGINT)
>>> -                return;
>>> -        // NOTREACHED
>>> -        return;
>>> -}
>>>       
>> 1. If all that the signal handler does is just return, it should have
>> been doing SIG_IGN from the beginning.
>> 2. I don't understand how your change fixes this because the signal
>> handler's function is almost the same (the original handler was more
>> generic).
>>     
>
> default behavior with SIGINT is to terminate, and going by this patch, no one 
> set up a signal handler for SIGINT.  so the fix as you implied sounds like:
> 	- call signal(SIGINT, SIG_IGN);
> 	- delete sighandlerr()
> -mike
>   
>   
Mike,

I apply your suggestions on a X86_64 system, and it shows
signal(SIGINT, SIG_IGN) also blocks the case04 itself.

        { // case04
                .ttype          = SEND_SIGINT,
                .ret            = -1,
                .err            = EINTR,
        },

Then, the testcase will hang on here.

So, I suggest we remain "void sighandler(int sig)" to fix the problem.

Thanks,

> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) 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 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> ------------------------------------------------------------------------
>
> _______________________________________________
> Ltp-list mailing list
> Ltp-list@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/ltp-list
>   


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

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

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) 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 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference

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

_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

      reply	other threads:[~2009-10-13  9:41 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-12  9:39 [LTP] [PATCH] ppoll01: Fix to set the signal handler of SIGINT liubo
2009-10-12 18:28 ` Garrett Cooper
2009-10-12 18:36   ` Mike Frysinger
2009-10-13  9:40     ` liubo [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4AD44B1C.4000103@cn.fujitsu.com \
    --to=liubo-fnst@cn.fujitsu.com \
    --cc=ltp-list@lists.sourceforge.net \
    --cc=vapier@gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox