[Dovecot] pop3 TCP_CORK too late error
Ryan Murray
rmurray at cyberhqz.com
Sun Oct 10 07:33:11 EEST 2010
I was straceing a pop3 process and noticed that the TCP_CORK option
isn't set soon enough:
epoll_wait(8, {{EPOLLOUT, {u32=37481984, u64=37481984}}}, 38, 207) = 1
write(41, "iTxPBrNlaNFao+yQzLhuO4/+tQ5cuiKSe"..., 224) = 224
epoll_ctl(8, EPOLL_CTL_MOD, 41, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP,
{u32=37481984, u64=37481984}}) = 0
pread(19, "AFABQAlAC0AJ\nQAUALQAUAFABQAlAC0AF"..., 8192, 811008) = 8192
setsockopt(41, SOL_TCP, TCP_CORK, [1], 4) = 0
write(41, "\r\nKUWtGCjKO5N8UbW5uYLZbS0nmaNi4ZB"..., 4134) = 4134
write(41, "\r\npckt0KMGuho6r4H1ay0sXbx+YyuC0Sn"..., 4134) = 4134
pread(19, "kivLO4WgAoAKACgBKAFoAr3V0lpH5kuQg"..., 8192, 819200) = 8192
write(41, "\r\nJkm1ZFXSIr1Ig19KGYj7oHT61dWUG/d"..., 4134) = 4134
write(41, "\r\nSNUHRRipGU9bu2sdLubhPvxoSv1qoK7"..., 4134) = 4134
pread(19, "NcOu1l/u1rGGl2YVKnQb8M9X09dKg\n0v7"..., 8192, 827392) = 8192
write(41, "\r\nAAp/Uo/zfgP29S9rB/wnRTcXsvu8YEg"..., 4134) = 4134
write(41, "\r\nYHT5jx+tJ1Z9x8iF/wCEb0ny/LNmmM5"..., 4134) = 4134
pread(19, "4GhGM3jkA/3B09Kr66+wewj0BfA8f8d8/"..., 8192, 835584) = 8192
write(41, "\r\nxHf8JPpm/b54/I/4UfVKhX1h3tYT/hJ"..., 4134) = 3932
write(41, "tdGIPCOsquY5oRkcoSev1p/Xl2D6s0tGN"..., 202) = -1 EAGAIN
(Resource temporarily unavailable)
epoll_ctl(8, EPOLL_CTL_MOD, 41, {EPOLLIN|EPOLLPRI|EPOLLOUT|EPOLLERR|
EPOLLHUP, {u32=37481984, u64=37481984}}) = 0
setsockopt(41, SOL_TCP, TCP_CORK, [0], 4) = 0
The TCP_CORK option should get set before the first call to write()
there, rather than after the first pread().
--
Ryan Murray <rmurray at cyberhqz.com>
More information about the dovecot
mailing list