Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/06/10 01:56:04 (14 years ago)
Author:
swagner
Message:

Merged cloning refactoring branch back into trunk (#922)

Location:
trunk/sources
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources

  • trunk/sources/HeuristicLab.Problems.ExternalEvaluation/3.3/Drivers/EvaluationProcessChannel.cs

    r3895 r4722  
    5858    private EvaluationStreamChannel streamingChannel;
    5959
     60    [StorableConstructor]
     61    protected EvaluationProcessChannel(bool deserializing) : base(deserializing) { }
     62    protected EvaluationProcessChannel(EvaluationProcessChannel original, Cloner cloner)
     63      : base(original, cloner) {
     64      executable = original.executable;
     65      arguments = original.arguments;
     66    }
     67    public override IDeepCloneable Clone(Cloner cloner) {
     68      return new EvaluationProcessChannel(this, cloner);
     69    }
     70
    6071    public EvaluationProcessChannel() : this(String.Empty, String.Empty) { }
    6172    public EvaluationProcessChannel(string executable, string arguments)
     
    6374      this.executable = executable;
    6475      this.arguments = arguments;
    65     }
    66 
    67     public override IDeepCloneable Clone(Cloner cloner) {
    68       EvaluationProcessChannel clone = (EvaluationProcessChannel)base.Clone(cloner);
    69       clone.executable = executable;
    70       clone.arguments = arguments;
    71       return clone;
    7276    }
    7377
     
    96100      try {
    97101        streamingChannel.Send(message);
    98       } catch {
     102      }
     103      catch {
    99104        Close();
    100105        throw;
     
    105110      try {
    106111        return streamingChannel.Receive(builder);
    107       } catch {
     112      }
     113      catch {
    108114        Close();
    109115        throw;
     
    121127              process.WaitForExit(1000);
    122128              process.Close();
    123             } catch { }
     129            }
     130            catch { }
    124131          }
    125132          // for some reasons the event process_Exited does not fire
Note: See TracChangeset for help on using the changeset viewer.