Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/16/17 13:13:49 (7 years ago)
Author:
jkarder
Message:

#2791: merged r15004 into stable

Location:
stable
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • stable

  • stable/HeuristicLab.Clients.Hive.Slave/3.3/Executor.cs

    r14186 r15263  
    185185    #endregion
    186186
    187     public Tuple<TaskData, DateTime> GetTaskDataSnapshot() {
    188       if (taskDataInvalid) return null;
    189 
    190       Tuple<TaskData, DateTime> snapshot = null;
    191       if (task == null) {
    192         if (CurrentException == null) {
    193           CurrentException = new Exception("Task with id " + this.TaskId + " is null, sending empty task");
    194         }
    195       } else {
    196         var taskData = new TaskData();
    197 
    198         var pausedTrigger = new EventWaitHandle(false, EventResetMode.ManualReset);
    199         EventHandler pausedHandler = null;
    200         pausedHandler = (s, e) => {
    201           task.TaskPaused -= pausedHandler;
    202           task.TaskPaused += Task_TaskPaused;
    203           pausedTrigger.Set();
    204         };
    205 
    206         task.TaskPaused -= Task_TaskPaused;
    207         task.TaskPaused += pausedHandler;
    208         task.Pause();
    209         pausedTrigger.WaitOne();
    210 
    211         taskData.Data = PersistenceUtil.Serialize(task);
    212         var timestamp = DateTime.Now;
    213 
    214         EventHandler startedHandler = null;
    215         startedHandler = (s, e) => {
    216           task.TaskStarted -= startedHandler;
    217           task.TaskStarted += Task_TaskStarted;
    218         };
    219 
    220         task.TaskStarted -= Task_TaskStarted;
    221         task.TaskStarted += startedHandler;
    222         task.Start();
    223 
    224         taskData.TaskId = TaskId;
    225         snapshot = Tuple.Create(taskData, timestamp);
    226       }
    227 
    228       return snapshot;
    229     }
    230 
    231187    public TaskData GetTaskData() {
    232188      if (taskDataInvalid) return null;
Note: See TracChangeset for help on using the changeset viewer.