Free cookie consent management tool by TermsFeed Policy Generator

Changeset 222


Ignore:
Timestamp:
05/07/08 00:07:33 (17 years ago)
Author:
gkronber
Message:

fixed waiting for results (waithandle.waitall()) works only for maximally 64 wait-handles. So if execute more than 64 jobs in parallel we have to wait for each wait-handle separately.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.DistributedEngine/DistributedEngine.cs

    r219 r222  
    9494            waithandles[i++] = jobManager.BeginExecuteOperation(OperatorGraph, GlobalScope, parOperation);
    9595          }
    96           WaitHandle.WaitAll(waithandles);
     96          // WaitAll works only with maximally 64 waithandles
     97          if(waithandles.Length <= 64) {
     98            WaitHandle.WaitAll(waithandles);
     99          } else {
     100            for(i = 0; i < waithandles.Length; i++) {
     101              waithandles[i].WaitOne();
     102            }
     103          }
    97104          if(jobManager.Exception != null) {
    98105            myExecutionStack.Push(compositeOperation);
Note: See TracChangeset for help on using the changeset viewer.