From: "Sébastien Dugué" <sebastien.dugue@bull.net>
To: linux-kernel <linux-kernel@vger.kernel.org>
Cc: Christoph Hellwig <hch@infradead.org>,
linux-aio <linux-aio@kvack.org>, Andrew Morton <akpm@osdl.org>,
Suparna Bhattacharya <suparna@in.ibm.com>,
Zach Brown <zach.brown@oracle.com>,
Badari Pulavarty <pbadari@us.ibm.com>,
Ulrich Drepper <drepper@redhat.com>,
Jean Pierre Dion <jean-pierre.dion@bull.net>,
Bharata B Rao <bharata@in.ibm.com>
Subject: Re: [PATCH -mm 3/5][AIO] - Make good_sigevent non-static
Date: Thu, 30 Nov 2006 16:50:10 +0100 [thread overview]
Message-ID: <20061130165010.089d3072@frecb000686> (raw)
In-Reply-To: <20061130163839.38689215@frecb000686>
Make good_sigevent() non-static
Move good_sigevent() from posix-timers.c to signal.c where it belongs,
and make it non-static so that it can be used by other subsystems.
include/linux/signal.h | 1 +
kernel/posix-timers.c | 17 -----------------
kernel/signal.c | 24 ++++++++++++++++++++++++
3 files changed, 25 insertions(+), 17 deletions(-)
Signed-off-by: Sébastien Dugué <sebastien.dugue@bull.net>
Index: linux-2.6.19-rc6-mm2/include/linux/signal.h
===================================================================
--- linux-2.6.19-rc6-mm2.orig/include/linux/signal.h 2006-11-30 13:18:33.000000000 +0100
+++ linux-2.6.19-rc6-mm2/include/linux/signal.h 2006-11-30 13:20:13.000000000 +0100
@@ -240,6 +240,7 @@ extern int sigprocmask(int, sigset_t *,
struct pt_regs;
extern int get_signal_to_deliver(siginfo_t *info, struct k_sigaction *return_ka, struct pt_regs *regs, void *cookie);
+extern struct task_struct * good_sigevent(sigevent_t *);
extern struct kmem_cache *sighand_cachep;
Index: linux-2.6.19-rc6-mm2/kernel/posix-timers.c
===================================================================
--- linux-2.6.19-rc6-mm2.orig/kernel/posix-timers.c 2006-11-30 13:18:33.000000000 +0100
+++ linux-2.6.19-rc6-mm2/kernel/posix-timers.c 2006-11-30 13:20:13.000000000 +0100
@@ -367,23 +367,6 @@ static enum hrtimer_restart posix_timer_
return ret;
}
-static struct task_struct * good_sigevent(sigevent_t * event)
-{
- struct task_struct *rtn = current->group_leader;
-
- if ((event->sigev_notify & SIGEV_THREAD_ID ) &&
- (!(rtn = find_task_by_pid(event->sigev_notify_thread_id)) ||
- rtn->tgid != current->tgid ||
- (event->sigev_notify & ~SIGEV_THREAD_ID) != SIGEV_SIGNAL))
- return NULL;
-
- if (((event->sigev_notify & ~SIGEV_THREAD_ID) != SIGEV_NONE) &&
- ((event->sigev_signo <= 0) || (event->sigev_signo > SIGRTMAX)))
- return NULL;
-
- return rtn;
-}
-
void register_posix_clock(const clockid_t clock_id, struct k_clock *new_clock)
{
if ((unsigned) clock_id >= MAX_CLOCKS) {
Index: linux-2.6.19-rc6-mm2/kernel/signal.c
===================================================================
--- linux-2.6.19-rc6-mm2.orig/kernel/signal.c 2006-11-30 13:18:33.000000000 +0100
+++ linux-2.6.19-rc6-mm2/kernel/signal.c 2006-11-30 13:33:10.000000000 +0100
@@ -1189,6 +1189,30 @@ int group_send_sig_info(int sig, struct
return ret;
}
+/***
+ * good_sigevent - check and get target task from a sigevent.
+ * @event: the sigevent to be checked
+ *
+ * This function must be called with the tasklist_lock held for reading.
+ */
+struct task_struct * good_sigevent(sigevent_t * event)
+{
+ struct task_struct *task = current->group_leader;
+
+ if ((event->sigev_notify & SIGEV_THREAD_ID ) == SIGEV_THREAD_ID) {
+ task = find_task_by_pid(event->sigev_notify_thread_id);
+
+ if (!task || task->tgid != current->tgid)
+ return NULL;
+ } else if (event->sigev_notify == SIGEV_SIGNAL) {
+ if ((event->sigev_signo <= 0) || (event->sigev_signo > SIGRTMAX))
+ return NULL;
+ } else
+ return NULL;
+
+ return task;
+}
+
/*
* kill_pgrp_info() sends a signal to a process group: this is what the tty
* control characters do (^C, ^Z etc)
next prev parent reply other threads:[~2006-11-30 15:51 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-30 15:38 [PATCH -mm 0/5][AIO] - AIO completion signal notification v4 Sébastien Dugué
2006-11-30 15:49 ` [PATCH -mm 1/5][AIO] - Rework compat_sys_io_submit Sébastien Dugué
2006-11-30 15:49 ` [PATCH -mm 2/5][AIO] - fix aio.h includes Sébastien Dugué
2006-11-30 15:50 ` Sébastien Dugué [this message]
2006-11-30 15:50 ` [PATCH -mm 4/5][AIO] - AIO completion signal notification Sébastien Dugué
2006-11-30 15:50 ` [PATCH -mm 5/5][AIO] - Add listio support Sébastien Dugué
[not found] <20070117104601.36b2ab18@frecb000686>
2007-01-17 9:49 ` [PATCH -mm 3/5][AIO] - Make good_sigevent non-static Sébastien Dugué
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=20061130165010.089d3072@frecb000686 \
--to=sebastien.dugue@bull.net \
--cc=akpm@osdl.org \
--cc=bharata@in.ibm.com \
--cc=drepper@redhat.com \
--cc=hch@infradead.org \
--cc=jean-pierre.dion@bull.net \
--cc=linux-aio@kvack.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pbadari@us.ibm.com \
--cc=suparna@in.ibm.com \
--cc=zach.brown@oracle.com \
/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.