summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nptl/ChangeLog5
-rw-r--r--nptl/sysdeps/pthread/bits/stdio-lock.h8
-rw-r--r--nptl/sysdeps/pthread/tst-timer.c2
3 files changed, 10 insertions, 5 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index beb3212529..9e52682111 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,8 @@
+2003-11-04  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/bits/stdio-lock.h: Use lll_*lock instead of
+	lll_mutex_*lock macros to skip atomic operations on some archs.
+
 2003-11-03  Ulrich Drepper  <drepper@redhat.com>
 
 	* sysdeps/pthread/tst-timer.c (main): Initialize
diff --git a/nptl/sysdeps/pthread/bits/stdio-lock.h b/nptl/sysdeps/pthread/bits/stdio-lock.h
index b084e91e40..cd64bc37e2 100644
--- a/nptl/sysdeps/pthread/bits/stdio-lock.h
+++ b/nptl/sysdeps/pthread/bits/stdio-lock.h
@@ -29,7 +29,7 @@
 
 typedef struct { int lock; int cnt; void *owner; } _IO_lock_t;
 
-#define _IO_lock_initializer { LLL_MUTEX_LOCK_INITIALIZER, 0, NULL }
+#define _IO_lock_initializer { LLL_LOCK_INITIALIZER, 0, NULL }
 
 #define _IO_lock_init(_name) \
   ((_name) = (_IO_lock_t) _IO_lock_initializer , 0)
@@ -42,7 +42,7 @@ typedef struct { int lock; int cnt; void *owner; } _IO_lock_t;
     void *__self = THREAD_SELF;						      \
     if ((_name).owner != __self)					      \
       {									      \
-        lll_mutex_lock ((_name).lock);					      \
+        lll_lock ((_name).lock);					      \
         (_name).owner = __self;						      \
       }									      \
     ++(_name).cnt;							      \
@@ -54,7 +54,7 @@ typedef struct { int lock; int cnt; void *owner; } _IO_lock_t;
     void *__self = THREAD_SELF;						      \
     if ((_name).owner != __self)					      \
       {									      \
-        if (lll_mutex_trylock ((_name).lock) == 0)			      \
+        if (lll_trylock ((_name).lock) == 0)				      \
           {								      \
             (_name).owner = __self;					      \
             (_name).cnt = 1;						      \
@@ -72,7 +72,7 @@ typedef struct { int lock; int cnt; void *owner; } _IO_lock_t;
     if (--(_name).cnt == 0)						      \
       {									      \
         (_name).owner = NULL;						      \
-        lll_mutex_unlock ((_name).lock);				      \
+        lll_unlock ((_name).lock);					      \
       }									      \
   } while (0)
 
diff --git a/nptl/sysdeps/pthread/tst-timer.c b/nptl/sysdeps/pthread/tst-timer.c
index f2577b75cd..f19fe364ba 100644
--- a/nptl/sysdeps/pthread/tst-timer.c
+++ b/nptl/sysdeps/pthread/tst-timer.c
@@ -86,7 +86,7 @@ main (void)
   sigev2.sigev_notify_attributes = NULL;
   /* It is unnecessary to do the following but to set a good example
      we do it anyhow.  */
-  sigev2.sigev_value = 0;
+  sigev2.sigev_value.sival_ptr = NULL;
 
   setvbuf (stdout, 0, _IOLBF, 0);