John Holman wrote:
> 
> (Follow up to last message)
> 
> In fact the IDLE problem is quite general. If the client has used the IDLE
> command, it seems that the imapd process will be killed and the connection
> closed with "signalled to death by 14"
> whenever more than about 50 seconds passes between commands sent by the
> client. Unless I misunderstand something, this shouldn't be happening.
> 
> eg
> 
> ...
> 4 IDLE
> + go ahead
> done
> 4 OK Completed
> 
> <wait 50 seconds>
> 
> server closes imap connection and reports "signalled to death by 14"

John,

Forget about my last message, here is the fix.  This was stupid, I don't
know how I missed this.  I must have changed the signal disposition at
the last minute without testing it.  I apologize for any problems that
this caused.  This fix (and a similar one for idle_idled.c) is in CVS
and will be in the next release.

Ken

diff -c -r1.1 -r1.2
*** idle_poll.c 2000/12/14 19:26:48     1.1
--- idle_poll.c 2001/01/16 16:54:26     1.2
***************
*** 88,92 ****
  void idle_done(struct mailbox *mailbox)
  {
      /* Remove the polling function */
!     signal(SIGALRM, SIG_DFL);
  }
--- 88,92 ----
  void idle_done(struct mailbox *mailbox)
  {
      /* Remove the polling function */
!     signal(SIGALRM, SIG_IGN);
  }

-- 
Kenneth Murchison     Oceana Matrix Ltd.
Software Engineer     21 Princeton Place
716-662-8973 x26      Orchard Park, NY 14127
--PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp

Reply via email to