Hi,

On AIX 5.3 (20CPU/96GB), the cost of process restart is very expensive. These
patches improve performance by avoiding unnecessary exit()
call.

avoid_shut_down_if_no_input.patch:
 Everytime our Alteon opens a socket for the health check, it kills a
 process. Just because it don't send any data. The problem can be
 easily reproduce with a telnet connection.

cyrus-imapd-2.3.16-ignore_ECONNABORTED.patch:
 If the connection is closed by the client, the process gets an ECONNABORTED
 error (Connection aborted POSIX.1). This new patch catches this error.

Best regards,

-- 
     Gonéri Le Bouder
--- cyrus-imapd-2.3.16.orig/imap/pop3d.c        2009-12-17 16:32:32.000000000 +0100
+++ cyrus-imapd-2.3.16/imap/pop3d.c     2010-03-12 16:51:06.000000000 +0100
@@ -799,7 +799,7 @@ static void cmdloop(void)

        }

        if (!prot_fgets(inputbuf, sizeof(inputbuf), popd_in)) {
-           shut_down(0);
+           return;
        }

        if (popd_mailbox &&
#! /bin/sh /usr/share/dpatch/dpatch-run
## 99-update-autoconf.dpatch by Ondrej Sury <ond...@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Update configure and config.h.in according to changes in other patches

@DPATCH@

diff --exclude .svn --exclude .git --exclude .bzr -urpN cyrus-imapd-2.3.16.orig/master/service.c cyrus-imapd-2.3.16/master/service.c
--- cyrus-imapd-2.3.16.orig/master/service.c	2008-03-24 18:47:41.000000000 +0100
+++ cyrus-imapd-2.3.16/master/service.c	2010-02-18 16:02:30.000000000 +0100
@@ -450,6 +450,7 @@ int main(int argc, char **argv, char **e
 		    case ENETUNREACH:
 		    case EAGAIN:
 		    case EINTR:
+		    case ECONNABORTED:
 			break;
 
 		    case EINVAL:

Reply via email to