Exemplo n.º 1
0
 /// <summary>
 /// Cancel a task. Task will have its cancel function called
 /// if it is cancelled. Tasks that are already running or
 /// finishing can not be cancelled.
 /// </summary>
 public void Cancel(IThreadedTask task)
 {
     lock (m_lock)
     {
         if (m_scheduledTasks.Contains(task))
         {
             task.Cancel();
             m_scheduledTasks.Remove(task);
         }
         else if (m_waitingTasks.Contains(task))
         {
             task.Cancel();
             m_waitingTasks.Remove(task);
         }
     }
 }
Exemplo n.º 2
0
        public void Cancel(IThreadedTask task)
        {
            object @lock = this.m_lock;

            lock (@lock)
            {
                if (this.m_scheduledTasks.Contains(task))
                {
                    task.Cancel();
                    this.m_scheduledTasks.Remove(task);
                }
                else if (this.m_waitingTasks.Contains(task))
                {
                    task.Cancel();
                    this.m_waitingTasks.Remove(task);
                }
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// Cancel a task. Task will have its cancel function called
 /// if it is cancelled. Tasks that are already running or 
 /// finishing can not be cancelled.
 /// </summary>
 public void Cancel(IThreadedTask task)
 {
     lock(m_lock)
     {
         if (m_scheduledTasks.Contains(task))
         {
             task.Cancel();
             m_scheduledTasks.Remove(task);
         }
         else if (m_waitingTasks.Contains(task))
         {
             task.Cancel();
             m_waitingTasks.Remove(task);
         }
     }
 }