comparison Implab/FuncTaskBase.cs @ 149:eb793fbbe4ea v2

fixed promises cancellation
author cin
date Wed, 06 May 2015 17:11:27 +0300
parents 8c0b95069066
children dd4a3590f9c6
comparison
equal deleted inserted replaced
148:e6d4b41f0101 149:eb793fbbe4ea
6 readonly Func<Exception, TResult> m_cancel; 6 readonly Func<Exception, TResult> m_cancel;
7 readonly Func<Exception, TResult> m_error; 7 readonly Func<Exception, TResult> m_error;
8 8
9 int m_cancelationLock; 9 int m_cancelationLock;
10 10
11 protected FuncTaskBase( Func<Exception, TResult> error, Func<Exception, TResult> cancel) { 11 protected FuncTaskBase( Func<Exception, TResult> error, Func<Exception, TResult> cancel, bool autoCancellable) {
12 m_error = error; 12 m_error = error;
13 m_cancel = cancel; 13 m_cancel = cancel;
14 if (autoCancellable)
15 CancellationRequested(CancelOperation);
14 } 16 }
15 17
16 public void Reject(Exception error) { 18 public void Reject(Exception error) {
17 Safe.ArgumentNotNull(error, "error"); 19 Safe.ArgumentNotNull(error, "error");
18 if (LockCancelation()) 20 if (LockCancelation())