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); |
