Timo Sirainen tss@iki.fi wrote:
On 26.9.2005, at 01:36, Jon Roma wrote:
Sep 25 17:19:25 zippy dovecot: imap(roma): o_stream_sendv() -> EINVAL
OK, so it must be writev() call that's failing.
Have you HAVE_WRITEV and HAVE_STRUCT_IOVEC defined in config.h? If yes, try removing HAVE_WRITEV so Dovecot uses write() instead internally. Also if you compile and run this, what does it say:
# include
# include int main(void) { struct iovec iov; printf("%d %d %d\n", sizeof(iov), sizeof(iov.iov_base), sizeof(iov.iov_len)); return 0; }
Timo:
Your speed amazes me. :-)
Both HAVE_WRITEV and HAVE_STRUCT_IOVEC are defined in config.h. The platform is AIX 5.1 -- forgot to mention that in my most recent post.
The compile/run of the test program yields the following results:
3243: cc -o test_writev test_writev.c 3244: ./test_writev 8 4 4
If this doesn't tell you anything, I'll manually disable those two HAVE_ settings from config.h and rebuild/reinstall.
Thanks!