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