[Bese-devel] the mod-lisp backend

Marco Baringer mb at bese.it
Thu Apr 7 16:15:37 UTC 2005


i started out wanting to make the mod_lisp multithread. in the course
of starting that i noticed that the mod_lisp backend was very similar
to a regular http server except for the wire protocol. i then decided
that it would be usefull (for newbies at least) to have a simple web
server inculded in ucw and it wouldn't be very hard to do starting
from mod_lisp (i'd just have to change the wire protocol).

but since i was going to implemente an http server, and since the http
server and mod_lisp backend are so similar i figured i'd make the http
server multitherad, then i could just override a couple of methods and
have a multithread mod_lisp "for free."

so what we have today (on the ucw--httpd--0.3 branch) is an almost
working multithread http server. it still has some issues i can't
figure out: 1) under heavy load (as many concurrent connections as
workers) connections are randomly dropped. 1) we get closed-socket
errors on the last request made by ab (this happens fairly often, but
not always). 3) i've ended up in openmcl's kernel debugger a couple of
times as well...

any comments or bug fixs to the new backend would be _greatly_
appreciated. i'm going to make this the default backend for ucw
distributions (with a big "do not use in production" notice) since its
so small and has such a trivial setup.

-- 
-Marco
Ring the bells that still can ring.
Forget the perfect offering.
There is a crack in everything.
That's how the light gets in.
	-Leonard Cohen



More information about the bese-devel mailing list