cyrusimap / cyrus-imapd

Cyrus IMAP is an email, contacts and calendar server
http://cyrusimap.org
Other
545 stars 149 forks source link

accept() handling on HP-UX #763

Open brong opened 18 years ago

brong commented 18 years ago

From: Ken Murchison Bugzilla-Id: 2804 Version: 2.2.x Owner: Ken Murchison

brong commented 18 years ago

From: Ken Murchison

This applies to 2.2.12, but I believe the same issue is present on later versions too. On HP-UX 11.*, accept() can return ENOBUFS for no particular reason, typically when the client went away before the program got around to calling accept() for it. Current Cyrus IMAP code would then terminate the child process; I don't know if this causes any other harm besides extra process handling overhead and error logs, but nevertheless is unnecessary, as the process could just accept() again. A similar fix was introduced in Apache 1.3.23 and can be found in many other major server software packages.

On HP-UX 10 and earlier, ENOBUFS probably still is a real error, but I don't think too many people run (or would necessarily have to run) those. Determining the platform and turning ENOBUFS handling on if applicable should of course reside in the autoconf part, but no way I'm going to touch that...

brong commented 18 years ago

Attachment-Id: 425 From: Ken Murchison Type: text/plain File: imapd-2.2.12-patch-enobufs

accept() ENOBUFS patch

brong commented 10 years ago

From: Bron Gondwana

Batch moving bugs that won't be in 2.5