<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <br>
    <div class="moz-cite-prefix">Le 23/02/2016 09:00, Roman Haefeli a
      écrit :<br>
    </div>
    <br>
    <blockquote cite="mid:1456214401.4184.23.camel@nl-16900.ad.zhdk.ch"
      type="cite">
      <pre wrap="">
going to do when it dies? I'd love if Pd would provide some true
multi-threading (not like [pd~] which is tightly coupled to its parent).

Roman
</pre>
    </blockquote>
    <br>
    <pre>That's a clever point I'm also sharing, but from informations grabbed in tcl documentation
that seem to imply a complete rewrite of the client:

<pre><span style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 14.4px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline !important; float: none; background-color: rgb(255, 255, 255);">Some consolidated rules for embedding Tcl in a threaded application:</span></pre></pre>
    <ul style="color: rgb(0, 0, 0); font-family: sans-serif; font-size:
      14.4px; font-style: normal; font-variant: normal; font-weight:
      normal; letter-spacing: normal; line-height: normal; orphans:
      auto; text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: 1; word-spacing: 0px;
      -webkit-text-stroke-width: 0px;">
      <li>
        <pre>You can<span class="Apple-converted-space"> </span><b>NEVER</b><span class="Apple-converted-space"> </span>use the same interpreter from more than one thread</pre>
      </li>
      <li>
        <pre>If you only have one Tcl Interpreter:</pre>
      </li>
      <li>
        <pre>You can use either Unthreaded or Threaded Tcl</pre>
      </li>
      <li>
        <pre>No<span class="Apple-converted-space"> </span><i>Big Global Mutex</i><span class="Apple-converted-space"> </span><a href="http://wiki.tcl.tk/25243" style="text-decoration: none;">[</a>Big Global Mutex<a href="http://wiki.tcl.tk/25243" style="text-decoration: none;">]</a><span class="Apple-converted-space"> </span>is required for Unthreaded Tcl Build (Never required for Threaded Tcl build)</pre>
      </li>
      <li>
        <pre>If you have Multiple Tcl Interpreters:</pre>
      </li>
      <li>
        <pre>If you are using an Unthreaded Tcl<span class="Apple-converted-space"> </span><i>Big Global Mutex</i><span class="Apple-converted-space"> </span><a href="http://wiki.tcl.tk/25243" style="text-decoration: none;">[</a>Big Global Mutex<a href="http://wiki.tcl.tk/25243" style="text-decoration: none;">]</a><span class="Apple-converted-space"> </span>is required for<span class="Apple-converted-space"> </span><b>ALL</b><span class="Apple-converted-space"> </span>calls to functions in libtcl</pre>
      </li>
      <li>
        <pre>If you are using a Threaded Tcl, no mutex locks are required</pre>
      </li>
    </ul>
    <pre><span style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 14.4px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline !important; float: none; background-color: rgb(255, 255, 255);"></span></pre>
  </body>
</html>