[Mono-bugs] [Bug 61511][Nor] Changed - WaitHandle.WaitAny does not behave correctly with AutoResetEvents

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Wed, 14 Jul 2004 09:57:36 -0400 (EDT)


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 sebastien.robitaille@croesus.com.

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

--- shadow/61511	2004-07-13 22:40:39.000000000 -0400
+++ shadow/61511.tmp.3701	2004-07-14 09:57:36.000000000 -0400
@@ -2,13 +2,13 @@
 Product: Mono: Class Libraries
 Version: unspecified
 OS: Red Hat 9.0
 OS Details: 
 Status: NEW   
 Resolution: 
-Severity: 
+Severity: Unknown
 Priority: Normal
 Component: CORLIB
 AssignedTo: mono-bugs@ximian.com                            
 ReportedBy: sebastien.robitaille@croesus.com               
 QAContact: mono-bugs@ximian.com
 TargetMilestone: ---
@@ -129,6 +129,36 @@
 				System.Console.WriteLine("TEST FAILED!");
 			}
 	
 		}
 	}
 }
+
+------- Additional Comments From sebastien.robitaille@croesus.com  2004-07-14 09:57 -------
+Proposed patch:
+
+Index: wait.c
+===================================================================
+RCS file: /mono/mono/mono/io-layer/wait.c,v
+retrieving revision 1.18
+diff -r1.18 wait.c
+357,359c357,367
+< 		for (i = 0; i < numobjects; i++) {
+< 			if (_wapi_handle_issignalled (handles[i])) {
+< 				_wapi_handle_ops_own (handles[i]);
+---
+> 		if (waitall == TRUE) {	
+> 			for (i = 0; i < numobjects; i++) {
+> 				if (_wapi_handle_issignalled (handles
+[i])) {
+> 					_wapi_handle_ops_own (handles
+[i]);
+> 				}
+> 			}
+> 		}
+> 		else
+> 		{
+> 			if (_wapi_handle_issignalled (handles
+[*lowest])) {
+> 				_wapi_handle_ops_own (handles
+[*lowest]);
+