Upstream here.  This looks to be a feature request.  I will try to explain
how MaraDNS is started, in order to help downstream look at this feature
request.

Basically, the original MaraDNS 1.0 did not daemonize, but depended on
non-POSIX Bash-isms like 'maradns &' in order to become a daemon.  
People in 1.0 asked me to make MaraDNS daemonizable, so I did that in 
the 1.1 unstable brach of MaraDNS over four years ago.

I did so by writing a small program about 200 lines long called 
'duende'.  Duende is responsible for making MaraDNS a daemon, and using 
syslog() to log MaraDNS' output.  Duende also handles the 'kill -HUP' 
old-school BSD hack by, when getting a HUP signal, restarting MaraDNS.  
Should MaraDNS get a HUP signal, it exits with an exit code of 8, which 
tells Duende to restart MaraDNS.  If Duende gets a TERM signal, it sends 
a term signal to MaraDNS and exits.  Should MaraDNS exit with a non-8 
exit code, Duende will also exit.

Unfortunatly, what Duende doesn't do is wait around a few seconds before 
daemonizing to make sure that MaraDNS does not have some syntax error in 
the mararc file or something else that makes MaraDNS exit right away.  
So, any script that checks to see if MaraDNS is running is going to have 
to use start-stop-daemon and see if the pid in the appropriate pidfile 
is in the process list with the name duende.

Again, doing this in a manner so scipts can more easily make sure 
everything is OK with MaraDNS is a feature request.  Right now, MaraDNS 
is in a testing cycle that should end with a stable release on December 
21, 2007.  No new features are going to be added to MaraDNS between now 
and then.

I can not guarantee that MaraDNS will get this feature.  There are a lot 
of feature requests on the table right now, and no one (so far) is 
willing to pay to have any of these features implemented.  This is the 
downside of open-source software: since no one is paying me to write 
this code, I have little motivation to implement features that don't 
directly benefit myself.

The tech industry was not very good to me after the 2001 dot-com 
implosion.  Even though I have a lot of talent, after getting my degree 
in computational linguistics, I ended up working as a cashier at 
Wal-Mart.  This was the result of a three-month job search in late 2005.  
I only got one interview during those three months.  This, even though I 
had five years of experience in the industry beforehand.  Basically, 
clueless HR departments didn't care if I had five years of programming 
experience; it had to be five years of, say, PHP experience, or they 
would throw my resume away.

MaraDNS development doesn't help me have a nice-looking resume; if 
MaraDNS was written in PHP, Java, or whatever the current 
buzzword-compliant language is, I may be able to get interviews.  But 
it's written in C.  The only C programming that would have gotten me 
interviews in 2005 was device driver development.  Or if MaraDNS was 
written in C++, that would have been buzzword-compliant enough in 2005 
to get me interviews.

I'm now an English teacher in Mexico, of all things.  

- Sam



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to