[hunchentoot-devel] 'max-threads' behavior for Hunchentoot

Faré fahree at gmail.com
Wed Aug 25 02:16:41 UTC 2010


Dear Edi,

Here's a revised patch against the current svn. It's xcvb and version
changes reverted, otherwise what I'm running at ITA, and it seems to
be passing the QRes precheckin. It looks like it passes the elementary
test under Lispworks, but I don't personally have a working Lispworks
setup, so I can't say (will it work on LW Personal?).

Can you review and apply if satisfactory?

> Yes, the LispWorks version of Hunchentoot (which is the original
> Hunchentoot which only ran on LW) doesn't use any of the compatibility
> libs like BT, usocket, and cl+ssl.  I want it to stay that way - the
> less dependencies, the better.
>
Understood. I also saw that you defined trivial wrappers rather than
imported LW symbols, and kept things that way.

> Can't you just comment out all the new stuff with #-:lispworks?  As I
> said, I'll take care of the LW version.
>
Scott did some work so it compiles under Lispworks, and
though it's wholly untested, I fixed it rather than scrapped it.
Please take it with a pinch of salt.


Suggested commit message:

   Extend Hunchentoot's 'one-thread-per-connection-taskmaster'
     to support 'max-threads' semantics, i.e., don't create
     a new thread if we've max out.

   Add a 'pooled-thread-per-connection-taskmaster' that will
     eventually use a thread pool, if profiling indicates.
   Fix the 'handle-incoming-connection' to implement the
     new behavior.
   Add a commented-out implementation of 'accept-connections'
     that might give better performance.  This needs to be
     discussed with the Hunchentoot maintainers.

   Address the review comments and discussions between Scott McKay
   and Hans Huebner.
   Also correctly issue HTTP 503 when the server runs out of threads.

(Work by Scott McKay, merge by François-René Rideau)

[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
Moving parts in rubbing contact require lubrication to avoid excessive wear.
Honorifics and formal politeness provide lubrication where people rub together.
Often the very young, the untraveled, the naïve, the unsophisticated deplore
these formalities as "empty", "meaningless", or "dishonest", and scorn to use
them. No matter how "pure" their motives, they thereby throw sand into
machinery that does not work too well at best.
        — Robert Heinlein, "Time Enough For Love"




More information about the Tbnl-devel mailing list