Hi, In mupdate-client.c, in function mupdate_scarf There is lines like (around line 450) : if(ch == EOF && errno == EAGAIN) { /* this was just "no input" we return 0 */ goto done; } else if(ch == EOF) { /* this was a fatal error */ r = MUPDATE_NOCONN; goto done; } else { >From gdb stepping and strace it seems that the errno is never set to EAGAIN... And so the slave think about a fatal error closing the connection when it's only A timeout ... 3466 lseek(8, 806172, SEEK_SET) = 806172 3466 writev(8, [{"\0\0\0\4", 4}, {"\0\fL\304", 4}, {"\0\0\0\2", 4}, {"\0\0\0\20", 4}, {"user.testmurder4", 16}, {"\0\0\0-", 4}, {"1 data01-cyrus!parta testmurder4\tlrswipkxtea\t", 45}, {"\0\0\0", 3}, {"\0\f\31\364", 4}, {"\377\377\377\377", 4}], 10) = 92 3466 fdatasync(8) = 0 3466 lseek(8, 806264, SEEK_SET) = 806264 3466 write(8, "\0\0\0\377", 4) = 4 3466 fdatasync(8) = 0 3466 fcntl64(8, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=0, len=0}) = 0 3466 time(NULL) = 1172585959 3466 select(10, [9], NULL, NULL, {0, 0}) = 0 (Timeout) 3466 time(NULL) = 1172585959 3466 close(10) = 0 3466 shutdown(9, 0 /* receive */) = 0 3466 close(9) = 0 3466 time([1172585959]) = 1172585959 Is it normal ? Any ideas where it could be ? Thanks ---- 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