Mercurial > pub > ImplabNet
comparison Implab/Parallels/ArrayTraits.cs @ 32:8eca2652d2ff
fixed: StackOverflow in IPromiseBase.Then(handler)
fixed: hang in ChainMap method on empty arrays
| author | cin | 
|---|---|
| date | Tue, 08 Apr 2014 23:25:01 +0400 | 
| parents | 2fad2d1f4b03 | 
| children | 2fc0fbe7d58b | 
   comparison
  equal
  deleted
  inserted
  replaced
| 31:dafaadca5b9f | 32:8eca2652d2ff | 
|---|---|
| 131 if (transform == null) | 131 if (transform == null) | 
| 132 throw new ArgumentNullException("transform"); | 132 throw new ArgumentNullException("transform"); | 
| 133 if (threads <= 0) | 133 if (threads <= 0) | 
| 134 throw new ArgumentOutOfRangeException("Threads number must be greater then zero"); | 134 throw new ArgumentOutOfRangeException("Threads number must be greater then zero"); | 
| 135 | 135 | 
| 136 if (source.Length == 0) | |
| 137 return Promise<TDst[]>.ResultToPromise(new TDst[0]); | |
| 138 | |
| 136 var promise = new Promise<TDst[]>(); | 139 var promise = new Promise<TDst[]>(); | 
| 137 var res = new TDst[source.Length]; | 140 var res = new TDst[source.Length]; | 
| 138 var pending = source.Length; | 141 var pending = source.Length; | 
| 139 | 142 | 
| 140 var semaphore = new Semaphore(threads, threads); | 143 var semaphore = new Semaphore(threads, threads); | 
