The following changes since commit e302cae2f208741c98fa73e6663963c9343ed744:
mailbox: fix lock management over rename (2015-07-20 03:27:51 +1000) are available in the git repository at: https://github.com/thomasjfox/cyrus-imapd.git imap-idle-fixes-2.4-backport for you to fetch changes up to fcf7797003ae4c820c255828be2f89b52ca9953e: idled: Add missing signals_poll() call (2015-09-25 10:23:42 +0200) Additional note: The source code differences between 2.4 and 2.5 on the files imap/idle*. are pretty minimal now. The new code is running on two production level servers with idled enabled. More testing welcome. ---------------------------------------------------------------- Bron Gondwana (7): idle: shut down on SIGQUIT idle: don't lose socket after first use idle: return 0 if idle not enabled idled: fix broken message formatting idle: don't fork if running as a daemon idle: use NOWAIT if possible idle: don't access mailboxes.db directly, use allmbox Greg Banks (23): idled: better signal handling idle: whitespace cleanup idle: rename messages IDLE_FOO -> IDLE_MSG_FOO idle: remove "freelist" ientry memory management idle: some const correctness idle: better function names in idled idle: rename idle_data_t -> idle_message_t idle: move message send/recv into a common file idle: centralise AF_UNIX socket creation idle: rename notify_sock -> idle_sock idle: unlink local AF_UNIX socket when done idle: don't use signals, use AF_UNIX dgrams idled: use library function shutdown_file() idle: don't do FD_ISSET(-1,) it's unhelpful idled: fork after creating socket [IRIS-1831] Improve logging in idle code. [IRIS-1831] don't syslog on ENOENT from idle_send Bug 3648 - lib/signals.c handles multiple signals lib/signals.c: better signal handling signals.c doesn't use SA_RESTART for SIGTERM Whitespace cleanup in signals.c idle: close SIGTERM/select race Also use signals_select() in prot_*() functions Max Matveev (1): One copy of common signal processing is enough Thomas Jarosch (3): Clear sigaction struct before passing it to the kernel autoconf: Check for pselect() idled: Add missing signals_poll() call configure.in | 2 +- imap/Makefile.in | 14 +- imap/global.c | 6 + imap/idle.c | 295 ++++++++++++++++++++++-------------------- imap/idle.h | 36 ++++-- imap/idled.c | 307 +++++++++++++++++++------------------------- imap/idlemsg.c | 215 +++++++++++++++++++++++++++++++ imap/{idled.h => idlemsg.h} | 45 +++++-- imap/imapd.c | 65 +++++----- imap/lmtpd.c | 4 +- imap/nntpd.c | 4 +- imap/pop3d.c | 4 +- imap/signals.c | 115 ----------------- imap/signals.h | 54 -------- lib/prot.c | 6 +- lib/signals.c | 130 ++++++++++++++++--- lib/signals.h | 5 + 17 files changed, 729 insertions(+), 578 deletions(-) create mode 100644 imap/idlemsg.c rename imap/{idled.h => idlemsg.h} (71%) delete mode 100644 imap/signals.c delete mode 100644 imap/signals.h