[Mono-bugs] [Bug 74228][Nor] New - Bug inside InterlockedIncrement() and Interlockeddecrement() in the file atomic.c

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Wed, 30 Mar 2005 08:07:56 -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 vasantha.paulraj@honeywell.com.

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

--- shadow/74228	2005-03-30 08:07:56.000000000 -0500
+++ shadow/74228.tmp.26996	2005-03-30 08:07:56.000000000 -0500
@@ -0,0 +1,29 @@
+Bug#: 74228
+Product: Mono: Runtime
+Version: unspecified
+OS: other
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Normal
+Component: io-layer
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: vasantha.paulraj@honeywell.com               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: Bug inside InterlockedIncrement() and Interlockeddecrement() in the file atomic.c
+
+line *dest++; inside InterlockedIncrement() and the line *dest--; 
+InterlockedDecrement() will incremnent or decrement the address(pointer) 
+not the value stored in the address(pointer). This will happen normal 
+ansi C compiler. Value stored in dest wont get incremented or decremented.
+
+The code should be (*dest)++; instead of *dest++ inside the fucntion 
+InterlockedIncrement() and inside Interlockeddecrement() the code should 
+be (*dest)--; instead of *dest--;. 
+
+This change has to be made for a functional InterlockedIncrement() and 
+InterlockedDecrement() APIs.