On Fri, 2008-05-16 at 16:59 -0300, Edjunior Barbosa Machado wrote:
> Hi,
> 
> running signal_test_01 IPC stress testcase in x86 and x86_64 machines, we 
> faced the messages below:
> 
> # cd ltp-full-20080430/testcases/kernel/ipc/ipc_stress/
> # ./signal_test_01 
> ./signal_test_01: IPC Signals TestSuite program
> 
>       Send SIGILL, SIGALRM, SIGIOT signals to process
>       received signal: (SIGILL)
>       received signal: (SIGALRM)
>       received signal: (SIGIOT/SIGABRT)
> 
>       Block SIGILL, SIGALRM, SIGIOT signals, and resend signals + others
>       received signal: (SIGFPE)
>       received signal: (SIGTERM)
>       received signal: (SIGINT)
> 
>       Block rest of signals
> 
>       Change signal mask & wait until signal interrupts process
> ERROR [line: 266] sigpause failed: Invalid argument
> 
> : Invalid argument
> 
> 
> The problems seems to be related to this piece of code:
> 
>         /* Change the process signal mask:
>          *
>          * Now specifiy a new process signal mask to allow the SIGINT signal
>          * to interrupt the process.  Thus by using sigpause (), force the
>          * process to suspend execution until delivery of an unblocked
>          * signal (SIGINT in this case).
>          *
>          * Additionally, verify that the SIGINT signal was received.
>          */
>         valid_sig [SIGINT] = 1;
> 
>         printf ("\n\tChange signal mask & wait until signal interrupts 
> process\n");
>         mask = 0xFFFF ^ SIGINT;
>         if (sigpause (mask) != -1 || errno != 4)
>                 sys_error ("sigpause failed", __LINE__);
> 
>         if (valid_sig [SIGINT])
>                 error ("failed to receive SIGINT signal!", __LINE__);
> 
> 
> `man sigpause` says there are 2 versions of this function: one considering a 
> signal as parameter (afaik, the default model) and another using a mask. In 
> this case, sigpause() uses this second version. I've already test it using 
> SIGINT as parameter and it seemed OK. I've also tried to force to sigpause() 
> to use a mask adding defines mentioned in manpage, without success. 
> 
> In addiction, the manpage also advices to don't use this function and use 
> sigsuspend() instead. However, I'm not sure if substitute a focused system 
> call (like sigpause() in this case) is reasonable for LTP testsuits. 
> 
> Would you please suggest what could be an acceptable solution for this issue?

Yes, that can be.

Mike,
What do you say ?

Regards--
Subrata

> 
> Thanks in advance,
> 
> --
> Edjunior
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft 
> Defy all challenges. Microsoft(R) Visual Studio 2008. 
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Ltp-list mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/ltp-list


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to