On Sun, Apr 14, 2002 at 01:38:25PM +0200, Sascha Schumann wrote: > > As I described, it would be possible for a user to close those > > descriptors before doing something like say, opening an SDBM. If > > they then try to _write_ to those (via something like write() to > > stderr), then that is a programming error which we should not be > > trying to solve. > > Not necessarily. The daemon might use a third-party library > which writes diagnostic messages to stderr (something like > Oracle's libs). Or even worse, the user might be running the > application on FreeBSD where malloc(3) writes messages to > stderr, if configured to do so. There are probably more > cases where this can happen which the app's author cannot > influence. Supplying module authors with a function which > addresses this issue makes sense from that perspective.
If a user knows that a third-party library (Oracle, whatever) can provide messages to stderr, and they knowingly close that file descriptor without dup()ing it elsewhere, then that is a bug in their software. Having APR open a bunch of file-descriptors so that this fixes a potential problem (IMO bug in their software) is just wasting file descriptors. -- Jon