<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 18 Oct 2011, at 12:20, Joe Armstrong wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>On Tue, Oct 18, 2011 at 11:53 AM, Ulf Wiger<br><<a href="mailto:ulf.wiger@erlang-solutions.com">ulf.wiger@erlang-solutions.com</a>> wrote:<br><blockquote type="cite"><br></blockquote><blockquote type="cite">On 18 Oct 2011, at 11:47, Joe Armstrong wrote:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Mutithreaded C implies some kind of data exchange between<br></blockquote><blockquote type="cite">different C threads - now there are many ways to do this - the<br></blockquote><blockquote type="cite">cleanest alternative<br></blockquote><blockquote type="cite">is by copying message passing. The dirtiest - is by shared memory and<br></blockquote><blockquote type="cite">mutexes.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I beg to differ. The dirtiest way is by shared memory *without* mutexes.<br></blockquote><br>You mean ... I didn't know that was possible - I though emacs detected<br>this and you were instantly<br>fired and your house set on fire, and your bones melted down for glue<br>and so on …</div></blockquote><br></div><div>Like I said… dirty.</div><div><br></div><div>I recall an admonition from a seminar on programming for multicore:</div><div><br></div><div>"You cannot use priorities for mutual exclusion!"</div><div><br></div><div>Presumably, this technique is commonly used, since it was deemed necessary to point out especially that this is not safe on a multicore machine.</div><div><br></div><div><a href="http://www.chibios.org/dokuwiki/doku.php?id=chibios:guides:mutual_exclusion_guide#priority_boost">http://www.chibios.org/dokuwiki/doku.php?id=chibios:guides:mutual_exclusion_guide#priority_boost</a></div><div><br></div><div>BR,</div><div>Ulf</div><br><div>
<div>Ulf Wiger, CTO, Erlang Solutions, Ltd.</div><div><a href="http://erlang-solutions.com">http://erlang-solutions.com</a></div><div><br></div><br class="Apple-interchange-newline">
</div>
<br></body></html>