34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
# File 'lib/roby/relations/conflicts.rb', line 34
def calling(context)
super if defined? super
return unless symbol == :start
result = nil
task.each_conflicts do |conflicting_task|
result ||= ValueSet.new
result << conflicting_task
end
if result
Roby.decision_control.conflict(task, result)
end
models = task.class.conflicting_models
for model in models
if candidates = plan.task_index.by_model[model]
for t in candidates
t.conflicts_with task if t.pending?
end
end
end
end
|