Sounds good to me. Thanks for doing this. Bron.
On Wed, Sep 2, 2015, at 02:35, Thomas Jarosch wrote: > On Tuesday, 1. September 2015 14:31:23 Thomas Jarosch wrote: > > ------------------------------ > > commit 17eb391b918c394319e4d1fe5985de10128f34d7 > > Author: Greg Banks <g...@fastmail.fm> > > Date: Fri Mar 23 17:27:32 2012 +1100 > > > > idle: don't use signals, use AF_UNIX dgrams > > > > Communications back from idled to imapds are via a message sent on the > > AF_UNIX socket. The IDLE command is implemented as a select() loop, and > > there's absolutely nothing that needs to be done in signal handler > > context. Best of all, no more unexpected delivery of SIGUSR1 or > > SIGUSER2, assassinating innocent bystander processes. > > ------------------------------ > > it looks like the changes to idle.c / idled.c / idlemsg.c can easily be > backported (=cherry-picked) to 2.4. Many of them apply without > any manual changes needed. > > For a quick test I've already cherry-picked these commits to 2.4: > ------------------------------- > 6c66fea idle: shut down on SIGQUIT > 490245b idle: don't do FD_ISSET(-1,) it's unhelpful > d3b4d40 idle: unlink local AF_UNIX socket when done > 215ded8 idle: rename notify_sock -> idle_sock > e0a2ae7 idle: don't use signals, use AF_UNIX dgrams > b03bacf idle: centralise AF_UNIX socket creation > 060892e idle: move message send/recv into a common file > a072b0b idle: rename idle_data_t -> idle_message_t > 47bf369 idle: better function names in idled > 5beb409 idle: some const correctness > 7bfe482 idle: remove "freelist" ientry memory management > 8ebce36 idle: rename messages IDLE_FOO -> IDLE_MSG_FOO > c302829 idle: whitespace cleanup > ------------------------------- > > This was just a rough try, I'll compile a more complete > list of needed changes. If I get this up and running, I'll send > a git pull request for 2.4 to fix this nasty issue. > > Thomas > -- Bron Gondwana br...@fastmail.fm