It should be possible for sysklogd to check if a write is going to block
by setting O_NONBLOCK on the file descriptor. If the write fails with
EAGAIN, the pipe is full. It's easy enough to tell if something is a pipe
or named pipe using fstat().
Bruce