This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[PATCH -mm 1/5] list.h: add list_singleton
- From: Masami Hiramatsu <mhiramat at redhat dot com>
- To: Andrew Morton <akpm at linux-foundation dot org>
- Cc: Ananth N Mavinakayanahalli <ananth at in dot ibm dot com>, Jim Keniston <jkenisto at us dot ibm dot com>, LKML <linux-kernel at vger dot kernel dot org>, systemtap-ml <systemtap at sources dot redhat dot com>, Prasanna S Panchamukhi <prasanna at in dot ibm dot com>, Shaohua Li <shaohua dot li at intel dot com>, David Miller <davem at davemloft dot net>, "Frank Ch. Eigler" <fche at redhat dot com>
- Date: Fri, 14 Mar 2008 16:40:36 -0400
- Subject: [PATCH -mm 1/5] list.h: add list_singleton
Add list_singleton to check a list has just one entry.
list_singleton is useful to check whether a list_head which
have been temporarily allocated for listing objects can be
released or not.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
---
include/linux/list.h | 9 +++++++++
1 file changed, 9 insertions(+)
Index: 2.6.25-rc5-mm1/include/linux/list.h
===================================================================
--- 2.6.25-rc5-mm1.orig/include/linux/list.h
+++ 2.6.25-rc5-mm1/include/linux/list.h
@@ -211,6 +211,15 @@ static inline int list_empty_careful(con
return (next == head) && (next == head->prev);
}
+/**
+ * list_singleton - tests whether a list has just one entry.
+ * @head: the list to test.
+ */
+static inline int list_singleton(const struct list_head *head)
+{
+ return !list_empty(head) && (head->next == head->prev);
+}
+
static inline void __list_splice(struct list_head *list,
struct list_head *head)
{
--
Masami Hiramatsu
Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division
e-mail: mhiramat@redhat.com