]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
powerpc: Fix adapt_count update in __lll_unlock_elision
authorTulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
Fri, 20 Jan 2017 18:32:29 +0000 (16:32 -0200)
committerTulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
Fri, 20 Jan 2017 18:40:30 +0000 (16:40 -0200)
Commit e9a96ea1aca4ebaa7c86e8b83b766f118d689d0f had an error that
prevents adapt_count from being updated in __lll_unlock_elision.

ChangeLog
sysdeps/unix/sysv/linux/powerpc/elision-unlock.c

index 9573c5c4b2cc173fe9d98358fffb7e1ebeff9d4b..d90569fd6987c3fcec407d33395f95b423531683 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-01-20  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>
+
+       * sysdeps/unix/sysv/linux/powerpc/elision-unlock.c
+       (__lll_unlock_elision): Fix adapt_count decrement.
+
 2017-01-14  Martin Galvan  <martingalvan@sourceware.org>
 
        * README.pretty-printers (Known issues): Warn about printers not
index 759c1464a79859e71358825062bc1c43232d2544..e3fe58e3f1cbfb06c9f5c823775a006ec519a15b 100644 (file)
@@ -35,7 +35,7 @@ __lll_unlock_elision (int *lock, short *adapt_count, int pshared)
         the mutex destruction requirements.  */
       short __tmp = atomic_load_relaxed (adapt_count);
       if (__tmp > 0)
-       atomic_store_relaxed (adapt_count, __tmp--);
+       atomic_store_relaxed (adapt_count, __tmp - 1);
 
       lll_unlock ((*lock), pshared);
     }