[hunchentoot-devel] Race condition in stop

Hans Hübner hans.huebner at gmail.com
Mon Mar 11 22:01:05 UTC 2013


Hunchentoot must run on Windows and with LispWorks, so patches that break
in either of these environments are unlikely to get pulled.  Other than
that, I'm open to fixes to this problem.

-Hans


On Mon, Mar 11, 2013 at 10:55 PM, Faré <fahree at gmail.com> wrote:

> When we stop an acceptor, we set the stop flag then shutdown the
> taskmaster. But the acceptor will only stop accepting after timeout
> and/or after the next connection; in the latter case, said connection
> will find itself without a taskmaster to process it, and will be
> dropped on the floor without being processed, while possibly leaking a
> file descriptor, meanwhile the user on the other end waits 5 minutes
> for a TCP timeout. That's not very nice, especially if stop is a
> normal part of frequent server rollouts.
>
> To make things better, we could do one or both of these:
> 1- have the acceptor call the shutdown on the taskmaster after it
> catches its last request (or lack thereof).
> 2- have the acceptor use select or poll, so it can be notified of the
> stop in a timely fashion.
>
> Would you accept a patch that does one or the other? What libraries
> are or aren't OK to pull into hunchentoot to achieve the second? [I
> suppose, any library that doesn't require linking a .so wrapper.]
>
> —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics•
> http://fare.tunes.org
> The hacker: someone who figured things out and made something cool happen.
>         — Alan Schmitt
>
> _______________________________________________
> tbnl-devel site list
> tbnl-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/tbnl-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/tbnl-devel/attachments/20130311/8a2b5999/attachment.html>


More information about the Tbnl-devel mailing list