Statistics
| Branch: | Tag: | Revision:

root / doc / design-2.1-lock-release.dot @ 46118ed2

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
}