(pasted from message to the mailing list)
http://lists.imendio.com/pipermail/loudmouth/2007-January/001293.html
I was using the Loudmouth library to send and receive jabber messages
when I ran into the following problem. With SSL enabled (openssl), a
message of size greater than 1023 bytes would not be fully processed
until the next message arrived. I triaged the problem and found that the
first 1023 bytes of the message were being received and processed, but
the connection_in_event function wasn't triggering again until the next
message was received on the IO channel, even though there were more
bytes available to process. My assumption is that this is because the
g_io_channel* functions are being bypassed to perform the read and
SSL_read is being called instead when SSL is enabled on the connection.
I fixed the problem by applying the following patch. I'd appreciate any
comments on whether other's have seen similar behavior and on the
correctness of the solution. If the solution is correct and could be
added to the loudmouth distribution, I would appreciate it.
Thanks. Jaymie