Skip to content
Snippets Groups Projects
design-2.1-lock-release.dot 804 B
digraph "design-2.1-lock-release" {
  graph[fontsize=8, fontname="Helvetica"]
  node[fontsize=8, fontname="Helvetica", width="0", height="0"]
  edge[fontsize=8, fontname="Helvetica"]

  /* Actions */
  remove_from_owners[label="Remove from owner list"]
  notify[label="Notify topmost"]
  swap_shared[label="Swap shared conditions"]
  success[label="Success"]

  /* Conditions */
  have_pending[label="Any pending acquires?", shape=diamond]
  was_active_queue[
    label="Was active condition\nfor shared acquires?",
    shape=diamond,
    ]

  /* Lines */
  remove_from_owners->have_pending

  have_pending->notify[label="Yes"]
  have_pending->success[label="No"]

  notify->was_active_queue

  was_active_queue->swap_shared[label="Yes"]
  was_active_queue->success[label="No"]

  swap_shared->success
}