<html><body><div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:12pt"><div><span>Just like Sean said.  It's just his comment that puzzled me.</span></div><div><br></div><div>Examples would be nice.  I've done an article in the past on thread programming, maybe I'll do something for this.  If you search google for mutex condition, I'm sure you'll find loads of examples.</div><div><br><span></span></div><div><span>-Steve<br></span></div><div><br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; margin-top: 5px; padding-left: 5px;">  <div style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> Alex Rønne Petersen <xtzgzorex@gmail.com><br> <b><span
 style="font-weight: bold;">To:</span></b> D's runtime library developers list <d-runtime@puremagic.com> <br> <b><span style="font-weight: bold;">Sent:</span></b> Thursday, April 26, 2012 7:10 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [D-runtime] What's with core.sync.condition usage?<br> </font> </div> <br>
<meta http-equiv="x-dns-prefetch-control" content="off"><div id="yiv2065366802"><div class="yiv2065366802gmail_extra">Now I'm really confused.</div><div class="yiv2065366802gmail_extra"><br></div><div class="yiv2065366802gmail_extra">How is this thing *actually* supposed to be used? And can we add some examples to the docs?</div><div class="yiv2065366802gmail_extra">
<br></div><div class="yiv2065366802gmail_extra">Regards,</div><div class="yiv2065366802gmail_extra">Alex<br><br><div class="yiv2065366802gmail_quote">On Fri, Apr 27, 2012 at 1:08 AM, Sean Kelly <span dir="ltr"><<a rel="nofollow" ymailto="mailto:sean@invisibleduck.org" target="_blank" href="mailto:sean@invisibleduck.org">sean@invisibleduck.org</a>></span> wrote:<br>
<blockquote class="yiv2065366802gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="yiv2065366802im">On Apr 26, 2012, at 1:22 PM, Steve Schveighoffer wrote:<br>
><br>
> From: Sean Kelly <<a rel="nofollow" ymailto="mailto:sean@invisibleduck.org" target="_blank" href="mailto:sean@invisibleduck.org">sean@invisibleduck.org</a>><br>
> void put(T val) {<br>
>     synchronized (cond.mutex) {<br>
>         queue.pushBack(val);<br>
>         cond.notify(); // atomically unlocks mutex on call, locks on return<br>
>     }<br>
> }<br>
> Huh, I thought notify did not unlock the mutex at all (I don't see why it would need to).<br>
<br>
</div>Oops… you're right.  The original implementation (Hoare's) did, I believe, but the modern one does not.<br>
<div class="yiv2065366802HOEnZb"><div class="yiv2065366802h5">_______________________________________________<br>
D-runtime mailing list<br>
<a rel="nofollow" ymailto="mailto:D-runtime@puremagic.com" target="_blank" href="mailto:D-runtime@puremagic.com">D-runtime@puremagic.com</a><br>
http://lists.puremagic.com/mailman/listinfo/d-runtime<br>
</div></div></blockquote></div><br></div>
</div><meta http-equiv="x-dns-prefetch-control" content="on"><br>_______________________________________________<br>D-runtime mailing list<br><a ymailto="mailto:D-runtime@puremagic.com" href="mailto:D-runtime@puremagic.com">D-runtime@puremagic.com</a><br><a href="http://lists.puremagic.com/mailman/listinfo/d-runtime" target="_blank">http://lists.puremagic.com/mailman/listinfo/d-runtime</a><br><br><br> </div> </div> </blockquote></div>   </div></body></html>