[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