[uClibc-cvs] uClibc/libc/sysdeps/linux/common/bits initspin.h,1.1,1.2 pthreadtypes.h,1.1,1.2

Erik Andersen andersen at codepoet.org
Thu Feb 27 18:13:10 UTC 2003


Update of /var/cvs/uClibc/libc/sysdeps/linux/common/bits
In directory winder:/tmp/cvs-serv18985/libc/sysdeps/linux/common/bits

Modified Files:
	initspin.h pthreadtypes.h 
Log Message:
Major update for pthreads, based in large part on improvements
from glibc 2.3.  This should make threads much more efficient.
 -Erik


Index: initspin.h
===================================================================
RCS file: /var/cvs/uClibc/libc/sysdeps/linux/common/bits/initspin.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- initspin.h	1 Mar 2002 20:46:02 -0000	1.1
+++ initspin.h	27 Feb 2003 18:13:05 -0000	1.2
@@ -3,16 +3,16 @@
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
+   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
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; see the file COPYING.LIB.  If not,
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
@@ -20,8 +20,9 @@
 /* Initial value of a spinlock.  Most platforms should use zero,
    unless they only implement a "test and clear" operation instead of
    the usual "test and set". */
-#define __ATOMIC_LOCK_INIT  0
+#define __LT_SPINLOCK_INIT 0
 
 /* Macros for lock initializers, using the above definition. */
-#define __LOCK_INITIALIZER { 0, 0 }
-#define __ATOMIC_INITIALIZER { 0, 0 }
+#define __LOCK_INITIALIZER { 0, __LT_SPINLOCK_INIT }
+#define __ALT_LOCK_INITIALIZER { 0, __LT_SPINLOCK_INIT }
+#define __ATOMIC_INITIALIZER { 0, __LT_SPINLOCK_INIT }

Index: pthreadtypes.h
===================================================================
RCS file: /var/cvs/uClibc/libc/sysdeps/linux/common/bits/pthreadtypes.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- pthreadtypes.h	1 Mar 2002 20:46:02 -0000	1.1
+++ pthreadtypes.h	27 Feb 2003 18:13:05 -0000	1.2
@@ -22,13 +22,11 @@
 #define __need_schedparam
 #include <bits/sched.h>
 
-typedef int __atomic_lock_t;
-
 /* Fast locks (not abstract because mutexes and conditions aren't abstract). */
 struct _pthread_fastlock
 {
   long int __status;   /* "Free" or "taken" or head of waiting list */
-  __atomic_lock_t __spinlock;  /* Used by compare_and_swap emulation. Also,
+  int __spinlock;      /* Used by compare_and_swap emulation. Also,
 			  adaptive SMP lock stores spin count here. */
 };
 




More information about the uClibc-cvs mailing list