[2.4 pull request] idle / idled fixes backport to 2.4
ellie timoney
ellie at fastmail.com
Mon Oct 5 00:24:48 EDT 2015
Hi Thomas,
These are now on the cyrus-imapd-2.4 git branch. Thanks for back
porting them :)
ellie
On Fri, Sep 25, 2015, at 10:23 PM, Thomas Jarosch wrote:
> 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
>
More information about the Cyrus-devel
mailing list