[Mono-bugs] [Bug 70784][Nor] Changed - Problem with Threading.Interlocked.Increment

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Sat, 25 Dec 2004 16:44:58 -0500 (EST)


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by patrik.torstensson@gmail.com.

http://bugzilla.ximian.com/show_bug.cgi?id=70784

--- shadow/70784	2004-12-23 21:09:59.000000000 -0500
+++ shadow/70784.tmp.2495	2004-12-25 16:44:58.000000000 -0500
@@ -1,12 +1,12 @@
 Bug#: 70784
 Product: Mono: Runtime
 Version: 1.1
 OS: unknown
 OS Details: 
-Status: NEW   
+Status: ASSIGNED   
 Resolution: 
 Severity: Unknown
 Priority: Normal
 Component: misc
 AssignedTo: mono-bugs@ximian.com                            
 ReportedBy: fxjrlists@yahoo.com.br               
@@ -150,6 +150,23 @@
 -kangaroo
 
 
 ------- Additional Comments From vargaz@gmail.com  2004-12-23 21:09 -------
 -> totte
 
+
+------- Additional Comments From patrik.torstensson@gmail.com  2004-12-25 16:44 -------
+I'll look at this first thing Monday (being offline now)
+
+xadd is doing exchange add so ecx will contain the value that was in 
+membase and this is correct, then the code should add the original 
+value to the ecx but something goes wrong here. the return value 
+should contain old membase + sreg2.
+
+You can't do the membase move because then the returning result will 
+not be atomic.
+
+So, the code should first move sreg2 into dreg
+then xadd dreg
+then add sreg2 with dreg
+
+Sorry guys, will be fixed monday morning.