> Hi, > > I am using cyrus 2.3.11 in a murder setup... from time to time have got an > hang from the pop3 proxyd ... > > I nail it donw to the following portion of code : > in imap/proxy.c near line 266 : > <quote> > if (pout) { > const char *err; > char buf[4096]; > int c; > > do { > c = prot_read(pin, buf, sizeof(buf)); > > if (c == 0 || c < 0) break; > prot_write(pout, buf, c); > } while (c == sizeof(buf)); > > if ((err = prot_error(pin)) != NULL) { </quote> > > from time to time, the prot_read return exactly 4096 bytes, but it's the > end of the message... > so backend seat and wait for next command, and proxy seat and wait for the > next buffer ... > forever ! > > for me it's seems that the condition " c == sizeof(buf)" is not enough in > that case. > Did anybody look at this in the mean time? Simon ---- Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html