harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tim Ellison (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-6137) [drlvm][concurrent] AtomicLong compare and swap returning wrong indicator
Date Thu, 02 Apr 2009 15:49:13 GMT
[drlvm][concurrent] AtomicLong compare and swap returning wrong indicator
-------------------------------------------------------------------------

                 Key: HARMONY-6137
                 URL: https://issues.apache.org/jira/browse/HARMONY-6137
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
         Environment: Linux, r761319
            Reporter: Tim Ellison


Consider the following code that exercises AtomLong compare and swap operations:

		AtomicLong atomLong = new AtomicLong(1);
		System.out.println(atomLong.get());
		System.out.println("CAS 1,-4 = " + atomLong.compareAndSet(1, -4));
		System.out.println(atomLong.get());
		System.out.println("CAS -5,1 = " + atomLong.compareAndSet(-5, 1));
		System.out.println(atomLong.get());

I expect it to print out:
   1
   CAS 1,-4 = true
   -4
   CAS -5,1 = false
   -4

Since the comparison of --4 and -5 fails.
However when running that code on harmony r761319 I see

   1
   CAS 1,-4 = true
   -4
   CAS -5,1 = true
   -4

i.e. the swap is not done, but the method returned true as though it had done the swap.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message