# HG changeset patch # User cin # Date 1396985101 -14400 # Node ID 8eca2652d2ff9617fb00fa7b9c78f4038ade95cc # Parent dafaadca5b9f27ead926b8ffb3565d753e8f6722 fixed: StackOverflow in IPromiseBase.Then(handler) fixed: hang in ChainMap method on empty arrays diff -r dafaadca5b9f -r 8eca2652d2ff Implab/Parallels/ArrayTraits.cs --- a/Implab/Parallels/ArrayTraits.cs Mon Apr 07 18:17:00 2014 +0400 +++ b/Implab/Parallels/ArrayTraits.cs Tue Apr 08 23:25:01 2014 +0400 @@ -133,6 +133,9 @@ if (threads <= 0) throw new ArgumentOutOfRangeException("Threads number must be greater then zero"); + if (source.Length == 0) + return Promise.ResultToPromise(new TDst[0]); + var promise = new Promise(); var res = new TDst[source.Length]; var pending = source.Length; diff -r dafaadca5b9f -r 8eca2652d2ff Implab/Promise.cs --- a/Implab/Promise.cs Mon Apr 07 18:17:00 2014 +0400 +++ b/Implab/Promise.cs Tue Apr 08 23:25:01 2014 +0400 @@ -236,7 +236,7 @@ public IPromiseBase Then(Action success) { - return Then(success); + return Then(x => success()); } ///