From: Jiri Palecek <jpalecek@web.de>
To: ltp-list@lists.sourceforge.net
Subject: [LTP] [PATCH] Remove the signal-waiting logic from create_sig_proc()
Date: Mon, 8 Jun 2009 13:29:48 +0200 [thread overview]
Message-ID: <200906081329.48616.jpalecek@web.de> (raw)
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 <jpalecek@web.de>
---
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;
}
}
--
1.6.2.4
------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises
looking to deploy the next generation of Solaris that includes the latest
innovations from Sun and the OpenSource community. Download a copy and
enjoy capabilities such as Networking, Storage and Virtualization.
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
next reply other threads:[~2009-06-08 11:27 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-08 11:29 Jiri Palecek [this message]
2009-06-09 18:25 ` [LTP] [PATCH] Remove the signal-waiting logic from create_sig_proc() Subrata Modak
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=200906081329.48616.jpalecek@web.de \
--to=jpalecek@web.de \
--cc=ltp-list@lists.sourceforge.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.