mwhaaahahah, i just came up with a _horrible_ idea :)
how about: ripping out the use of unix-pipes altogether, and replacing them with tdb (trivial database) in a mmap'd file? the nice thing about tdb is that it's LGPL'd. the messages could be saved and transferred via shared memory; tdb is multi-readable / multi-writeable, and it would save a bitch-awful job of implementing a shared memory sockets emulation layer (which i _have_ seen done, once).
l.