<div dir="ltr">Fare,<div><br></div><div style>I like the general idea, but I think it would be better to encapsulate the actual thread starting in Hunchentoot.  The patch you proposed puts the burden of starting threads onto the user.</div>

<div style><br></div><div style>I would suggest:</div><div style><br></div><div style>(defgeneric make-thread-function (taskmaster thunk)</div><div style>  (:method ((taskmaster t) thunk)</div><div style>    thunk)))</div>

<div style><br></div><div style>I like the general simplification with the introduction of start-thread, but that GF should not be part of the public interface.  Also, the arguments should be (taskmaster thunk &key name).  I see no reason to leave the argument list open as start-thread is meant to be called only from within Hunchentoot.</div>

<div style><br></div><div style>Documentation updates are missing.</div><div style><br></div><div style>Let me know what you think.</div><div style>-Hans</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">

On Thu, Mar 21, 2013 at 8:54 PM, François-René Rideau <span dir="ltr"><<a href="mailto:notifications@github.com" target="_blank">notifications@github.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<p>Introduce start-thread as an entry point so specialized taskmasters<br>
can wrap bindings and condition handlers around hunchentoot new thread thunks.</p>

<p>Note that LispWorks and non-LispWorks should probably do the same thing wrt starting a thread for the acceptor or not. I chose to always start a thread, as per the non-LispWorks default. That choice could be reversed. But it's probably bad practice to let the LW and non-LW versions diverge on such a point.</p>



<hr>

<h4>You can merge this Pull Request by running</h4>
<pre>  git pull <a href="https://github.com/fare/hunchentoot" target="_blank">https://github.com/fare/hunchentoot</a> master</pre>
<p>Or view, comment on, or merge it at:</p>
<p>  <a href="https://github.com/edicl/hunchentoot/pull/52" target="_blank">https://github.com/edicl/hunchentoot/pull/52</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Introduce start-thread as an entry point so specialized taskmasters</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/edicl/hunchentoot/pull/52/files#diff-0" target="_blank">packages.lisp</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/edicl/hunchentoot/pull/52/files#diff-1" target="_blank">taskmaster.lisp</a>
    (111)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href="https://github.com/edicl/hunchentoot/pull/52.patch" target="_blank">https://github.com/edicl/hunchentoot/pull/52.patch</a></li>
  <li><a href="https://github.com/edicl/hunchentoot/pull/52.diff" target="_blank">https://github.com/edicl/hunchentoot/pull/52.diff</a></li>
</ul>

</blockquote></div><br></div>