Re: zeroseek and qmail
Russell Nelson <[email protected]> Tue, 27 Aug 2002 15:44:22 -0400 (EDT)
| Newsgroups | gmane.comp.djb.zeroseek |
|---|---|
| Message-ID | <[email protected]> |
Mark Delany writes: > On Tue, Aug 27, 2002 at 02:39:23PM -0400, Russell Nelson allegedly wrote: > > Jos Backus writes: > > > On Tue, Aug 27, 2002 at 10:36:43AM -0600, Charles Cazabon wrote: > > > > As you say, he only talks about the seekability in terms of the fd provided to > > > > qmail-local, not /by/ qmail-local to other programs. > > > > > > > > The only obvious way I can think of to keep the fd provided to programs > > > > seekable under zeroseek would involve copying the message to a temporary file > > > > and providing an fd to that; this could be done inside qmail-local when it > > > > invokes a command delivery. > > > > > > That sounds kind of messy to me. > > > > Why? qmail-local would already need to do this if it had a non-tail > > program delivery. How else do you preserve the semantics of the > > program delivery exiting with a 100 (permanent failure) exit code? > > Eh? Which semantics need to be preserved exactly that relate to a > seekable stdin or the need to create a temp file? qmail-local only needs to re-read the message on its stdin if it needs to deliver it after a program deliver. Thus, if the only program delivery is the very last line in the file, then it can deliver to everything in parallel. > It's conceivable in zeroseek-land that qmail-local is given a > read-only fd of the zeroseek file (and message location information**) > and it creates a read/write pipeline to each program delivery. No temp > file needed, no quota issues, no memory issues. I'm presuming that there is no one file for a message stored in a zeroseek queue. A message is just a bunch of sectors stored in raw partition, or big file (as needed). -- -russ nelson http://russnelson.com | Crynwr sells support for free software | PGPok | businesses persuade 521 Pleasant Valley Rd. | +1 315 268 1925 voice | governments coerce Potsdam, NY 13676-3213 | +1 315 268 9201 FAX |