Geo, I think you are confusing your forks. You are thinking fork as in run in the background by forking and then killing the parent. Where as Aaron is talking about forking child processes to handle each connection.

Geo Carncross wrote:
On Wed, 2006-03-15 at 09:19 +0100, Paul J Stevens wrote:
Aaron Stone wrote:
If we don't want to break existing scripts/installations:

default: fork, detach.
-n: no-fork, no-detach.
(new) -d, fork, no-detach.
Weirdness: -nd means what? same as -n?

However I would rather break things sooner than later:
agreed.

default: fork, no-detach
-n: no-fork, no-detach
(new) -d: fork, detach
-nd: no-fork, detach (unsupported, but could be)

I think this would give us the best set of options that make sense.
Ok by me.

I'd recommend:

default: no-fork, no-detach
-d: detach
-f: fork

-d would simply be a synonym for >&- <&- 2>&- (etc)
-f would simply be a synonym for &

possible other options:
-g would set up a new process group
-e would set up a new session

That way, people using init.d might try:

dbmail -defg

people using /etc/rc would use:

dbmail -df

and people using /etc/inittab or daemontools would use:

dbmail


ALTHOUGH, really- I think "dbmail" should be called "dbmail-start" and
live in libexec someplace and /usr/sbin/dbmail should instead be a
wrapper script that looks like this:

#!/bin/sh
exec /usr/libexec/dbmail/dbmail-start -defg



Reply via email to