* todo:
. ./configuration 
  --with-apache=../apache-1.3.17/src/ [no default]
  --with-user=nobody [httpd]
  --prefix=/opt/lingerd [/usr/local]
  --sbindir=/sbin [$PREFIX/sbin]
  --mandir=/usr/local/man [$PREFIX/man]
  --with-unix-socket=/var/run/lingerd/lingerd.sock 
  --with_pidfile=/var/run/lingerd/lingerd.pid
  --with-old-fd-passing  --with-new-fd-passing
. have a "make install" that also creates the dirs for the socket &
  pidfile if needed.  maybe use autoconf, or a manual filter, to
  specify configuration issues (prefix, etc) before 'make'
. write a manpage
. support mod_ssl (through ./configure) and apache-ssl (nothing to do?)
. list the '@' character in mod_status' "scoreboard key"
. apache side: don't send fd's when there's already an eof on them

* not worth doing:
. support select() as an alternative to poll()... nah, we'd probably run
  into problems with fd_set being too short.

* done:
. add data structures, handle multiple simultaneous connections with poll()
. fix the "out of fds" case
. daemonize & use syslog; have a no-daemon mode too
. write a clean library to pass an fd to the daemon
. make apache use it
. add -k flag to lingerd
. make clean diffs for apache's http_main.c and Makefile.tmpl
. finish writing the INSTALL file
. modify ab to not close its sockets for a while.  test the whole thing.
. patch apache to show lingering sockets in /server-status
. make apache's linger-on-failure #define'able in ap_lingerd.h
. do not log an error when getpeername() fails on a passed fd
. Solaris and FreeBSD ports.  Solaris uses the old BSD4.2 API for
  passing fd's; FreeBSD uses the same API as Linux, but has a
  different sizeof(sockaddr_un.sun_path).

* howto:
Apache compile:
OPTIM="-O -g" ./configure --prefix=/usr/local/apache --enable-module=status
make
make install

strace:
strace -e trace=open,close,socket,sendmsg,shutdown,gettimeofday,time,accept,connect ./httpd -X

ablinger:
./ablinger -l 500 -s 50 -n 300 -c 3 http://localhost:8080/

