blob: fb686d23cdc03e5c1f1ecdf68a3e0a56ce0b9361 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="128.05959mm"
height="93.66375mm"
viewBox="0 0 128.05959 93.66375"
version="1.1"
id="svg8"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="NonLocalLockHierarchy.svg">
<defs
id="defs2">
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4808"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend-2"
style="overflow:visible"
inkscape:isstock="true">
<path
inkscape:connector-curvature="0"
id="path4808-8"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend-7"
style="overflow:visible"
inkscape:isstock="true">
<path
inkscape:connector-curvature="0"
id="path4808-3"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2"
inkscape:cx="317.49664"
inkscape:cy="253.43221"
inkscape:document-units="mm"
inkscape:current-layer="g4720-2"
showgrid="true"
showguides="false"
fit-margin-top="5"
fit-margin-left="5"
fit-margin-right="5"
fit-margin-bottom="5"
inkscape:window-width="2014"
inkscape:window-height="1275"
inkscape:window-x="304"
inkscape:window-y="826"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid3713"
originx="-21.298335"
originy="-157.55875" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-21.298334,-45.7775)">
<rect
rx="0"
style="fill:#00ff00;fill-opacity:1;stroke:#000000;stroke-width:0.31999999;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect3755-0-1"
width="117.73958"
height="37.041668"
x="26.458336"
y="50.9375"
ry="5.0862632e-06" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="29.368755"
y="56.626049"
id="text3717"><tspan
sodipodi:role="line"
id="tspan3715"
x="29.368755"
y="56.626049"
style="font-size:4.93888903px;stroke-width:0.26458332">Application</tspan></text>
<g
id="g4711">
<rect
rx="0"
style="fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:0.31999999;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect3755-0"
width="33.072918"
height="23.812502"
x="31.75"
y="61.520832"
ry="1.3229194" />
<g
id="g4565">
<rect
style="fill:#87cfff;fill-opacity:1;stroke:#000000;stroke-width:0.31999999;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect3755"
width="22.489584"
height="9.260417"
x="39.6875"
y="64.166664"
ry="1.3229192" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="42.601532"
y="70.638107"
id="text3717-3"><tspan
sodipodi:role="line"
id="tspan3715-6"
x="42.601532"
y="70.638107"
style="font-size:4.93888903px;stroke-width:0.26458332">Lock A</tspan></text>
</g>
<text
id="text3717-3-7"
y="82.687508"
x="34.395836"
style="font-style:normal;font-weight:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="font-size:4.93888903px;stroke-width:0.26458332"
y="82.687508"
x="34.395836"
id="tspan3715-6-5"
sodipodi:role="line">foo()</tspan></text>
</g>
<g
id="g4720">
<rect
rx="0"
style="fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:0.31999999;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect3755-0-9"
width="33.072918"
height="23.812502"
x="70.114578"
y="61.520832"
ry="1.3229195" />
<g
id="g4565-3"
transform="translate(37.835415,5.0862632e-6)">
<rect
style="fill:#87cfff;fill-opacity:1;stroke:#000000;stroke-width:0.31999999;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect3755-5"
width="22.489584"
height="9.260417"
x="39.6875"
y="64.166664"
ry="1.3229192" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="42.601532"
y="70.638107"
id="text3717-3-6"><tspan
sodipodi:role="line"
id="tspan3715-6-2"
x="42.601532"
y="70.638107"
style="font-size:4.93888903px;stroke-width:0.26458332">Lock B</tspan></text>
</g>
<text
id="text3717-3-7-3"
y="82.687508"
x="72.760422"
style="font-style:normal;font-weight:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="font-size:4.93888903px;stroke-width:0.26458332"
y="82.687508"
x="72.760422"
id="tspan3715-6-5-6"
sodipodi:role="line">bar()</tspan></text>
</g>
<g
id="g4729"
transform="translate(-6.3500003)">
<rect
rx="0"
style="fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:0.31999999;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect3755-0-9-6"
width="33.072918"
height="23.812502"
x="115.09375"
y="61.520832"
ry="1.3229195" />
<g
id="g4565-3-9"
transform="translate(83.343747,2.5431316e-6)">
<rect
style="fill:#87cfff;fill-opacity:1;stroke:#000000;stroke-width:0.31999999;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect3755-5-1"
width="22.489584"
height="9.260417"
x="39.6875"
y="64.166664"
ry="1.3229192" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="42.601532"
y="70.638107"
id="text3717-3-6-2"><tspan
sodipodi:role="line"
id="tspan3715-6-2-7"
x="42.601532"
y="70.638107"
style="font-size:4.93888903px;stroke-width:0.26458332">Lock B</tspan></text>
</g>
<text
id="text3717-3-7-0"
y="82.687508"
x="117.2104"
style="font-style:normal;font-weight:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="font-size:4.93888903px;stroke-width:0.26458332"
y="82.687508"
x="117.2104"
id="tspan3715-6-5-62"
sodipodi:role="line">cmp()</tspan></text>
</g>
<rect
rx="0"
style="fill:#00ff00;fill-opacity:1;stroke:#000000;stroke-width:0.31999999;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect3755-0-1-8"
width="117.73959"
height="31.75"
x="26.458334"
y="102.53125"
ry="5.0862632e-06" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="29.368752"
y="108.2198"
id="text3717-7"><tspan
sodipodi:role="line"
id="tspan3715-9"
x="29.368752"
y="108.2198"
style="font-size:4.93888903px;stroke-width:0.26458332">Library</tspan></text>
<g
transform="translate(0,46.831247)"
id="g4720-2">
<rect
rx="0"
style="fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:0.31999999;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect3755-0-9-0"
width="33.072918"
height="23.812502"
x="70.114578"
y="60.991665"
ry="1.3229195" />
<g
id="g4565-3-2"
transform="translate(37.835415,5.0862632e-6)">
<rect
style="fill:#87cfff;fill-opacity:1;stroke:#000000;stroke-width:0.31999999;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect3755-5-3"
width="22.489584"
height="9.260417"
x="39.6875"
y="64.166664"
ry="1.3229192" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="42.601532"
y="70.638107"
id="text3717-3-6-7"><tspan
sodipodi:role="line"
id="tspan3715-6-2-5"
x="42.601532"
y="70.638107"
style="font-size:4.93888903px;stroke-width:0.26458332">Lock C</tspan></text>
</g>
<text
id="text3717-3-7-3-9"
y="82.687508"
x="72.760422"
style="font-style:normal;font-weight:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="font-size:4.93888903px;stroke-width:0.26458332"
y="82.687508"
x="72.760422"
id="tspan3715-6-5-6-2"
sodipodi:role="line">qsort()</tspan></text>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-7)"
d="M 97.895833,110.46875 137.58333,73.427083"
id="path4803-6"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
d="M 50.270833,73.427084 79.375,110.46875"
id="path4803"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-2)"
d="M 87.3125,73.427083 V 110.46875"
id="path4803-9"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="61.912502"
y="98.827087"
id="text8382"><tspan
sodipodi:role="line"
id="tspan8380"
x="61.912502"
y="98.827087"
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-opacity:1">DEADLOCK</tspan></text>
</g>
</svg>