Afficher un message
Vieux 12/04/2006, 03h39   #3
Mark Crispin
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: UW (on AIX) IMAP server occasionally stuck waiting for mlocker output

I would have expected, if the mlock process died, that the imapd process
would have gotten an error from the read() on the pipe. But then again,
you said that you're using AIX 4.3. It is no small joy to me that our
last AIX systems have just been retired... :-)

Does the attached timeout code ?

1130,1131c1130,1136
< else if (j > 0) { /* reap child; grandchild now owned by init */
< grim_pid_reap (j,NIL);
---
> else if (j > 0) { /* parent process */
> fd_set rfd;
> struct timeval tmo;
> FD_ZERO (&rfd);
> FD_SET (pi[0],&rfd);
> tmo.tv_sec = locktimeout * 60;
> grim_pid_reap (j,NIL);/* reap child; grandchild now owned by init */

1133c1138,1139
< if ((read (pi[0],tmp,1) == 1) && (tmp[0] == '+')) {
---
> if (select (pi[0]+1,&rfd,0,0,&tmo) &&
> (read (pi[0],tmp,1) == 1) && (tmp[0] == '+')) {


-- Mark --

http://staff.washington.edu/mrc
Science does not emerge from voting, party politics, or public debate.
Si vis pacem, para bellum.
  Réponse avec citation
 
Page generated in 0,04662 seconds with 9 queries