9 Jul
2004
9 Jul
'04
1:09 a.m.
On 9.7.2004, at 00:57, Mark E. Mallett wrote:
On Fri, Jul 09, 2004 at 12:34:04AM +0300, Timo Sirainen wrote:
- Fixed APPEND hanging if the whole message was sent in one TCP packet (ie. fixes the "Sent mail" hangs)
Curious-- how does the application-level code care about TCP packets?
It reads all of it into buffer, then later tries to read more even though everything was already in that buffer so it gets stuck at waiting. Dovecot's istream-limit wrapper stream specifically was a problem. It called parent stream's read() function without checking first if there was already data in it's buffer.
These wrapper streams have been quite difficult in general. mbox support is implemented using one of those too and it took quite a while to get it working correctly. I guess I should write some comments there how exactly they should be implemented.