rculfstack/queue: define _LGPL_SOURCE around static header include
[urcu.git] / urcu / list.h
index db7685fca289b5c3d48881a51fdfc570283d9dfc..7d2a9a11e39b12d061e6a68b90b6918f307af17a 100644 (file)
@@ -1,21 +1,26 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+/*
+ * Copyright (C) 2002 Free Software Foundation, Inc.
+ * (originally part of the GNU C Library)
+ * Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+ *
+ * Copyright (C) 2009 Pierre-Marc Fournier
+ * Conversion to RCU list.
+ * Copyright (C) 2010 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
 
 #ifndef _CDS_LIST_H
 #define _CDS_LIST_H    1
@@ -80,6 +85,14 @@ cds_list_del (struct cds_list_head *elem)
   __cds_list_del (elem->prev, elem->next);
 }
 
+/* Remove element from list, initializing the element's list pointers. */
+static inline void
+cds_list_del_init (struct cds_list_head *elem)
+{
+       cds_list_del(elem);
+       CDS_INIT_LIST_HEAD(elem);
+}
+
 /* delete from list, add to another list as head */
 static inline void
 cds_list_move (struct cds_list_head *elem, struct cds_list_head *head)
This page took 0.023735 seconds and 4 git commands to generate.