Definition at line 3079 of file Task.cs.
3080 {
3082 {
3084 }
3086 {
3087 ThrowHelper.ThrowArgumentOutOfRangeException(
ExceptionArgument.millisecondsTimeout);
3088 }
3093 bool flag = false;
3096 for (
int num =
tasks.Length - 1; num >= 0; num--)
3097 {
3100 {
3102 }
3105 {
3107 {
3109 }
3110 else
3111 {
3114 {
3116 }
3117 }
3118 }
3120 {
3122 {
3123 flag = true;
3124 }
3125 else if (
task.IsCanceled)
3126 {
3128 }
3129 if (
task.IsWaitNotificationEnabled)
3130 {
3132 }
3133 }
3134 }
3136 {
3139 {
3141 {
3143 {
3144 flag = true;
3145 }
3146 else if (
item.IsCanceled)
3147 {
3149 }
3150 if (
item.IsWaitNotificationEnabled)
3151 {
3153 }
3154 }
3155 }
3156 GC.KeepAlive(
tasks);
3157 }
3159 {
3161 {
3162 if (
item2.NotifyDebuggerOfWaitCompletionIfNecessary())
3163 {
3164 break;
3165 }
3166 }
3167 }
3169 {
3170 if (!flag)
3171 {
3173 }
3175 {
3177 }
3178 ThrowHelper.ThrowAggregateException(
exceptions);
3179 }
3181 }
static void AddExceptionsForCompletedTask(ref List< Exception > exceptions, Task t)
static bool WaitAllBlockingCore(List< Task > tasks, int millisecondsTimeout, CancellationToken cancellationToken)
References System.Threading.Tasks.Task< TResult >.AddExceptionsForCompletedTask(), System.cancellationToken, System.exceptions, System.item, System.GC.KeepAlive(), System.list, System.millisecondsTimeout, System.task, System.tasks, System.ThrowHelper.ThrowAggregateException(), System.ThrowHelper.ThrowArgumentException(), System.ThrowHelper.ThrowArgumentNullException(), System.ThrowHelper.ThrowArgumentOutOfRangeException(), and System.Threading.Tasks.Task< TResult >.WaitAllBlockingCore().
Referenced by System.Threading.Tasks.Task< TResult >.WaitAll(), System.Threading.Tasks.Task< TResult >.WaitAll(), System.Threading.Tasks.Task< TResult >.WaitAll(), System.Threading.Tasks.Task< TResult >.WaitAll(), and System.Threading.Tasks.Task< TResult >.WaitAll().