about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nptl/ChangeLog6
-rw-r--r--nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 4d291ea109..fa41d2ac76 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,9 @@
+2003-08-26  Steven Munroe <sjmunroe@us.ibm.com>
+
+	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
+	(lll_mutex_unlock_force): Add memory barrier between store and futex
+	syscall.
+
 2003-08-25  Ulrich Drepper  <drepper@redhat.com>
 
 	* tst-cancel4.c (do_test): Also unlink tempfname and remove
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
index 00ca257ca0..a987accbed 100644
--- a/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
+++ b/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
@@ -148,6 +148,7 @@ extern int __lll_timedlock_wait
   ((void) ({								      \
     int *__futex = &(lock);						      \
     *__futex = 0;							      \
+    __asm __volatile (__lll_rel_instr ::: "memory");			      \
     lll_futex_wake (__futex, 1);					      \
   }))