Example #1
0
        private void CancelAcquireWrite(long id)
        {
            lock (syncRoot) {
                Option <WaitingWrite> opt = waitingWrites.Cancel(id);
                if (opt.HasValue)
                {
                    opt.Value.k.PostResult(new AcquireWriteCancelled());

                    if (opt.Value.ctr.HasValue)
                    {
                        opt.Value.ctr.Value.PostDispose();
                    }
                }
            }
        }
Example #2
0
        private void CancelWorkItem(long id)
        {
            lock (syncRoot) {
                Option <WaitingWorkItem> opt = waitingWorkItems.Cancel(id);
                if (opt.HasValue)
                {
                    opt.Value.k.PostException(new OperationCanceledException(opt.Value.ctoken));

                    if (opt.Value.ctr.HasValue)
                    {
                        opt.Value.ctr.Value.PostDispose();
                    }
                }
            }
        }