What exactly did the new forking code do for us anyway?

Julian Field mailscanner at ecs.soton.ac.uk
Mon Jul 29 17:55:54 IST 2002


At 17:24 29/07/2002, you wrote:
>What exactly did the new forking code do anyway?

It stopped some systems leaving a zombie process running that lasted for
the life of the mailscanner process.
Unfortunately it broke more systems than it fixed :(

>  Sorry, Im not a programmer. Wish I was,..

I'm glad I'm not. Might end up as a code monkey...

>I will keep version 3.29.8!! for now. Because in RedHat 7.2
>Mailscanner/Spamassassin are working very nicely !!!

If -8 is working fine for you (and you should be able to find out in about
an hour) then there is no point upgrading,

>
>
>Matt Doherty
>IT Dept
>Datawatch Corp
>
> >>In a world without walls or fences, who needs Windows and Gates?<<
>-----Original Message-----
>From: Julian Field [mailto:mailscanner at ECS.SOTON.AC.UK]
>Sent: Monday, July 29, 2002 12:59 PM
>To: MAILSCANNER at JISCMAIL.AC.UK
>Subject: ANNOUNCE: Version 3.22-9
>
>I have had a couple of instability problems reported to me, involving the
>new forking code I released in 3.22-8. It works fine on most systems, but
>can cause MailScanner to silently die on a few systems, notably some
>Solaris versions.
>
>I have therefore backed out the new forking code, hence the release of
>3.22-9.
>
>If you don't want to upgrade but are happy applying simple patches, then
>edit /usr/local/MailScanner/bin/mailscanner or
>/opt/mailscanner/bin/mailscanner (depending on where you have it installed)
>and apply this:
>
>106,119c106,119
>< #fork && exit;
>< #setsid();
>< $SIG{CHLD} = \&REAPER;
>< if (fork) {
>< wait; # Ensure child has exited
>< exit 0;
>< }
>< # This new child's parent is perl
>< # Close output streams to break connection to handin server
>< close(STDIN);
>< close(STDOUT);
>< close(STDERR);
>< fork && exit 0;
>< # This new grand-child's parent is init
>---
> > fork && exit;
> > setsid();
> > #$SIG{CHLD} = \&REAPER;
> > #if (fork) {
> > # wait; # Ensure child has exited
> > # exit 0;
> > #}
> > ## This new child's parent is perl
> > ## Close output streams to break connection to handin server
> > #close(STDIN);
> > #close(STDOUT);
> > #close(STDERR);
> > #fork && exit 0;
> > ## This new grand-child's parent is init
>
>i.e. un-comment the first 2 lines and comment out the others.
>
>I'm really sorry about this folks :-(
>
>Isn't it a good thing most people are on holiday...
>
>You can of course download 3.22-9 from the usual location:
>www.mailscanner.info
>--
>Julian Field Teaching Systems Manager
>jkf at ecs.soton.ac.uk Dept. of Electronics & Computer Science
>Tel. 023 8059 2817 University of Southampton
>Southampton SO17 1BJ

--
Julian Field                Teaching Systems Manager
jkf at ecs.soton.ac.uk         Dept. of Electronics & Computer Science
Tel. 023 8059 2817          University of Southampton
                             Southampton SO17 1BJ



More information about the MailScanner mailing list