Jon Herron 0892db6fa7 Squashed 'SpiffWorkflow/' content from commit 63db3e4
git-subtree-dir: SpiffWorkflow
git-subtree-split: 63db3e45947ec66b8d0efc2c74064004f8ff482c
2022-10-12 10:19:53 -04:00

51 lines
1.5 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<process-definition name="flow" revision="1.0">
<description>Pattern 39 (Critical Section)</description>
<!-- Start with an implicit simple split. -->
<start-task>
<successor>one_1</successor>
<successor>two_1</successor>
</start-task>
<!-- Branch 1 -->
<task name="one_1">
<lock>lock_one</lock>
<successor>one_2</successor>
</task>
<acquire-mutex name="one_2" mutex="my_global_mutex">
<lock>lock_two</lock>
<successor>one_3</successor>
</acquire-mutex>
<task name="one_3">
<lock>lock_three</lock>
<successor>two_2</successor>
<successor>one_4</successor>
</task>
<release-mutex name="one_4" mutex="my_global_mutex">
<lock>lock_four</lock>
<successor>last</successor>
</release-mutex>
<!-- End branch 1 -->
<!-- Branch 2 -->
<task name="two_1">
<successor>two_2</successor>
</task>
<acquire-mutex name="two_2" mutex="my_global_mutex">
<successor>two_3</successor>
</acquire-mutex>
<task name="two_3">
<successor>two_4</successor>
</task>
<release-mutex name="two_4" mutex="my_global_mutex">
<successor>last</successor>
</release-mutex>
<!-- End branch 2 -->
<!-- A final task. -->
<task name="last">
<successor>end</successor>
</task>
</process-definition>