root / doc / design-2.1-lock-release.dot @ d5af1f95
History | View | Annotate | Download (804 Bytes)
1 | ca9ccea8 | Michael Hanselmann | digraph "design-2.1-lock-release" { |
---|---|---|---|
2 | ca9ccea8 | Michael Hanselmann | graph[fontsize=8, fontname="Helvetica"] |
3 | ca9ccea8 | Michael Hanselmann | node[fontsize=8, fontname="Helvetica", width="0", height="0"] |
4 | ca9ccea8 | Michael Hanselmann | edge[fontsize=8, fontname="Helvetica"] |
5 | ca9ccea8 | Michael Hanselmann | |
6 | ca9ccea8 | Michael Hanselmann | /* Actions */ |
7 | ca9ccea8 | Michael Hanselmann | remove_from_owners[label="Remove from owner list"] |
8 | ca9ccea8 | Michael Hanselmann | notify[label="Notify topmost"] |
9 | ca9ccea8 | Michael Hanselmann | swap_shared[label="Swap shared conditions"] |
10 | ca9ccea8 | Michael Hanselmann | success[label="Success"] |
11 | ca9ccea8 | Michael Hanselmann | |
12 | ca9ccea8 | Michael Hanselmann | /* Conditions */ |
13 | ca9ccea8 | Michael Hanselmann | have_pending[label="Any pending acquires?", shape=diamond] |
14 | ca9ccea8 | Michael Hanselmann | was_active_queue[ |
15 | ca9ccea8 | Michael Hanselmann | label="Was active condition\nfor shared acquires?", |
16 | ca9ccea8 | Michael Hanselmann | shape=diamond, |
17 | ca9ccea8 | Michael Hanselmann | ] |
18 | ca9ccea8 | Michael Hanselmann | |
19 | ca9ccea8 | Michael Hanselmann | /* Lines */ |
20 | ca9ccea8 | Michael Hanselmann | remove_from_owners->have_pending |
21 | ca9ccea8 | Michael Hanselmann | |
22 | ca9ccea8 | Michael Hanselmann | have_pending->notify[label="Yes"] |
23 | ca9ccea8 | Michael Hanselmann | have_pending->success[label="No"] |
24 | ca9ccea8 | Michael Hanselmann | |
25 | ca9ccea8 | Michael Hanselmann | notify->was_active_queue |
26 | ca9ccea8 | Michael Hanselmann | |
27 | ca9ccea8 | Michael Hanselmann | was_active_queue->swap_shared[label="Yes"] |
28 | ca9ccea8 | Michael Hanselmann | was_active_queue->success[label="No"] |
29 | ca9ccea8 | Michael Hanselmann | |
30 | ca9ccea8 | Michael Hanselmann | swap_shared->success |
31 | ca9ccea8 | Michael Hanselmann | } |