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