Ilja Booij wrote:
Ilja Booij wrote:
Paul J Stevens wrote:
The SIGPIPE problem is quite a weird one. I figured I'd find out more if I put an "if" around the fgets() statement which get commands from the client. When I do this, I first get a EINPROGRRESS error, after which I get a lot of errors indicating that a buffer is full (ENOBUFS).

strange...

I tried applying Paul J Stevens' patch that added some error checking to all write actions on streams, and it seemed to work better, but still not completely alright. It especially messes up the last respone ('OK Completed') sent to the client, by completely messing up the tag, which is kind of strange, because printing the tag to trace works ok. This is probably some memory error.

Anyway, I'm a bit confused at the moment..

Aha, there was an error in the ci_write function, which called fprintf() instead of vfprintf().

When using these functions, I'm getting no problems at all. In fact, the new IMAP test suite, which Paul J Stevens sent yesterday runs without finding an error.

Ilja

Reply via email to