Hello!

I think i've found the problem.

1.) Child a) get's a "Connection reset by peer" where the client has closed the connection. I think this time STDOUT is closed by perl. 2.) Next time a new client connects dup2 wants to connect $client Filehandle to STDOUT. Does this perhaps only work, if STDOUT is not closed?

I have checked about 20 childs - every child get's first time a "Connection reset by peer" and then a "No such file or dir...". There's no child which get's first time "No such file or dir..."

Any idea or solution idea's which i can test?

Stefan

Peter J. Holzer schrieb:
On 2007-07-02 13:05:03 +0200, Stefan Priebe wrote:
Stefan Priebe schrieb:
2.) The real Problem is, that it hangs after running about 1 hour or so. I'm using about 60 childs with about 20 new connections per second. After a while more and more childs hangs in $d->accept(). And you did not get any answer from the SMTP anymore. Any idea to that?
I've found out some more information. They seem to hang at another point as i aspected.

In the debug log i see the following message:
Could not print [220 XXX ESMTP qpsmtpd 0.40 ready; send us your mail, but not your spam.]: No such file or directory

Looks like the client closed the connection before the server sent the
greeting (although I'd have expected a slightly different error message
("Bad file descriptor" or "Connection reset by peer") in this case).
That happens, especially if you use check_earlytalker.

I think the server process should just close the current connection and
accept the next one in this case (Simply exiting and letting the parent
restart the process would work, too, but defeats the purpose of running
prefork).

        hp


Reply via email to