Pen 0.9.0 released

From: Ulric Eriksson (
Date: Thu Jun 13 2002 - 23:59:04 CEST

The main new feature in this release is a solution to the logging problem
which is quite convenient, efficient and easy to use. It consists of three

1. Code which allows Pen to log over the network instead of to a file.
This is activated by writing the log destination as "-l loghost:port",
where loghost is the address of the host running penlogd (see below).

2. A new logging client, penlog, which reads log entries from stdin and
sends them across the network to the penlogd host. Penlog is meant to be
used by Apache's pipe logging feature, by adding a line like this to

CustomLog "|/usr/local/bin/penlog loghost 10000" common

3. A logging server, penlogd, which reads log entries from a UDP socket,
consolidates them in a way similar to mergelogs and writes the result to
stdout. It can be run on any host like this:

penlogd 10000 > access_log

Other changes:

The CGI script penctl.cgi serves as a web interface to penctl. Not quite
finished yet, but an interesting start.

The configuration script has been updated with two new options:

--with-poll enables an alternative main loop which uses poll() rather than
select() to see which connections have data waiting. This is experimental
code, not intended for production use.

--with-fd_setsize=N redefines FD_SETSIZE. This is necessary if a very
large number of simultaneous connections are to be load balanced. What
"very large" means depends on the operating system. There is no need to do
this for normal web sites thanks to the short-lived connections, but other
protocols may require it.

Note that redefining FD_SETSIZE doesn't work with Linux. That's one of the
reasons for the poll() experiments.

Release blurb in


This archive was generated by hypermail 2.1.2 : Thu Jun 13 2002 - 23:59:29 CEST