On Mon, 2009-06-08 at 13:29 +0200, Jiri Palecek wrote: 
> In create_sig_proc, the child process waits for the parent to wake it
>  with a signal. This doesn't actually solve anything, and the
>  implementation with pause() syscall is inherently racy (the race
>  results in a deadlock). This patch removes it; it doesn't make the
>  function race-free (it's possible the child will send the signal
>  before the parent had chance to run), but this is the best you can
>  get.
> 
> Regards
>     Jiri Palecek
> 
> Signed-off-by: Jiri Palecek <[email protected]>

Thanks.

Regards--
Subrata

> ---
>  testcases/kernel/syscalls/utils/common_j_h.c |   10 ----------
>  1 files changed, 0 insertions(+), 10 deletions(-)
> 
> diff --git a/testcases/kernel/syscalls/utils/common_j_h.c 
> b/testcases/kernel/syscalls/utils/common_j_h.c
> index cda3198..d122ff9 100644
> --- a/testcases/kernel/syscalls/utils/common_j_h.c
> +++ b/testcases/kernel/syscalls/utils/common_j_h.c
> @@ -102,23 +102,14 @@ int cleanup_euid(uid_t old_uid)
>  /*
>   * Generate a child process which will send a signal
>   */
> -static void sighandler_for_sig_proc(int sig)
> -{
> -     if (sig == SIGUSR2)
> -             return;
> -     return;
> -}
> -
>  pid_t create_sig_proc(unsigned long usec, int sig)
>  {
>       pid_t pid, cpid;
> 
> -     signal(SIGUSR2, sighandler_for_sig_proc);
>       pid = getpid();
>       cpid = fork();
>       switch (cpid) {
>       case 0:
> -             pause();
>               usleep(usec);
>               kill(pid, sig);
>               _exit(0);
> @@ -127,7 +118,6 @@ pid_t create_sig_proc(unsigned long usec, int sig)
>               EPRINTF("fork failed.\n");
>               return cpid;
>       default:
> -             kill(cpid, SIGUSR2);
>               return cpid;
>       }
>  }


------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to