Explorar el Código

Continuation options should be checked as flags

Rafael Munitic hace 15 años
padre
commit
fcbb5717c1
Se han modificado 1 ficheros con 9 adiciones y 9 borrados
  1. 9 9
      mcs/class/corlib/System.Threading.Tasks/Task.cs

+ 9 - 9
mcs/class/corlib/System.Threading.Tasks/Task.cs

@@ -302,25 +302,25 @@ namespace System.Threading.Tasks
 			
 			if (kindCode >= ((int)TaskContinuationOptions.NotOnRanToCompletion)) {
 				if (status == TaskStatus.Canceled) {
-					if (kind == TaskContinuationOptions.NotOnCanceled)
+					if ((kind & TaskContinuationOptions.NotOnCanceled) > 0)
 						return false;
-					if (kind == TaskContinuationOptions.OnlyOnFaulted)
+					if ((kind & TaskContinuationOptions.OnlyOnFaulted) > 0)
 						return false;
-					if (kind == TaskContinuationOptions.OnlyOnRanToCompletion)
+					if ((kind & TaskContinuationOptions.OnlyOnRanToCompletion) & 0)
 						return false;
 				} else if (status == TaskStatus.Faulted) {
-					if (kind == TaskContinuationOptions.NotOnFaulted)
+					if ((kind & TaskContinuationOptions.NotOnFaulted) > 0)
 						return false;
-					if (kind == TaskContinuationOptions.OnlyOnCanceled)
+					if ((kind & TaskContinuationOptions.OnlyOnCanceled) > 0)
 						return false;
-					if (kind == TaskContinuationOptions.OnlyOnRanToCompletion)
+					if ((kind & TaskContinuationOptions.OnlyOnRanToCompletion) > 0)
 						return false;
 				} else if (status == TaskStatus.RanToCompletion) {
-					if (kind == TaskContinuationOptions.NotOnRanToCompletion)
+					if ((kind & TaskContinuationOptions.NotOnRanToCompletion) > 0)
 						return false;
-					if (kind == TaskContinuationOptions.OnlyOnFaulted)
+					if ((kind & TaskContinuationOptions.OnlyOnFaulted) > 0)
 						return false;
-					if (kind == TaskContinuationOptions.OnlyOnCanceled)
+					if ((kind & TaskContinuationOptions.OnlyOnCanceled) > 0)
 						return false;
 				}
 			}