> --On 15. November 2007 18:14:05 +0100 Alain Spineux <aspineux@xxxxxxxxx> > wrote: > >>> # strace -p 25038 >>> Process 25038 attached - interrupt to quit >>> read(0, <unfinished ...> >> >> Do you know what is 0, if it was a socket it should timeout, isn't it ? > > It should, I guess, but it doesn't. > >># ls -l /proc/25038/fd >> >> should answer the question > > I did not know that. Usually I just use lsof. Interestingly, there's this: > > # ls -l /proc/25038/fd > insgesamt 0 > lrwx------ 1 cyrus mail 64 15. Nov 18:15 0 -> > socket:[4230164633] > ... > > It's blinking red, which normally means a broken link. I'm not sure how The file 0 is a symbolic symlink which doesn't really point to a file, that's why the shell shows it blinking. Everything okay here. > reliable that is in this case. Anyway, lsof reports: > > pop3d 25038 cyrus 0u IPv4 -64802663 TCP > cyrus.rrz.uni-koeln.de:pop3s->p50865F5D.dip.t-dialin.net:1064 > (ESTABLISHED) > > It *thinks* the connections is still open. So does netstat: > > # LANG=C netstat -a|grep p50865F5D > tcp 0 0 cyrus.rrz.uni-koeln.d:pop3s > p50865F5D.dip.t-dialin:1064 > ESTABLISHED > > But obviously that connection is dead. I don't know what conclusions to > draw from that ... Just two ideas come to mind: 1) Since it only happens on dialup connections, could it be that the dialin router at the providers end sends TCP/RST when a client hangs up and those packets are filtered somewhere, maybe on your firewall? 2) Could it be that SO_LINGER should be used as socket option in service_create() in master/master.c. If it's complete nonsense, ignore it. 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