You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "Robert S. Thau" <rs...@ai.mit.edu> on 1996/06/05 23:00:52 UTC
YA threaded server snapshot.
I've just put up another snapshot of my threaded Apache at
ftp://ftp.ai.mit.edu/pub/users/rst/apache-XX.tar.gz
This code has now been running and more or less stable on
www.ai.mit.edu for more than a week; it's probably in fit condition
for other people to start experimenting with (though I'm only really
able to give it the acid test on SunOS, and it's always possible that
problems will come up on other systems).
This snapshot fixes chunked encoding, and implements the HTTP/1.1
draft 4 rules for managing persistent connections (that's my story,
and I'm sticking to it at least until Alexei tells me where I screwed
up this time).
The other new thing with this release is beginning gestures towards
a decent debugging environment, viz. gdb macros which define the
"athreads" and athread" commands. The latter forces the code into a
breakpoint on the stack of a specific thread the next time the
scheduler reaches the top of its main loop --- this helps you to
figure out why it's blocked. The former gives you a summary of all
running threads, roughly like so:
(gdb) athreads
TID WAITFOR WAIT-ARG NAME
0 select - child_main --- handle new connections and timeouts
241 write 19 GET /people/spraxlo/g/Claudia.300.gif HTTP/1.0
239 read 17 Awaiting new transaction
238 read 16 Awaiting new transaction
237 read 13 Awaiting new transaction
236 read 7 Awaiting new transaction
232 write 8 GET /people/sodabot/logo.gif HTTP/1.0
227 notify DNS GET /stocks/prices.html HTTP/1.0
218 write 10 GET /people/laurel/OLD-Bmt-talk/msg00331.html HTTP/1.0
4 read 9 DNS packet receiver
(gdb)
Have fun,
rst