[omniORB] Omniorb hangs on reading within SSL connection
Daniel Laügt
daniel.laugt at wallstreetsystems.com
Wed May 27 14:46:07 BST 2015
Hi,
Omniorb hangs on reading a big output parameter (usually a sequence of
struct) from a calling method of an IDL interface with SSL connection.
It seems this is a regression from:
http://sourceforge.net/p/omniorb/svn/6158/
The bytes are already buffered in the SSL object but omniorb tries to read
those bytes from the socket instead of using directly SSL_read().
I propose the following patch which resolves my issue:
Index: src/lib/omniORB/orbcore/ssl/sslConnection.cc
===================================================================
--- src/lib/omniORB/orbcore/ssl/sslConnection.cc (revision
255787)
+++ src/lib/omniORB/orbcore/ssl/sslConnection.cc (working copy)
@@ -197,7 +197,7 @@
return 0;
}
- if (t.tv_sec || t.tv_usec) {
+ if ((t.tv_sec || t.tv_usec) && SSL_pending(pd_ssl) <= 0 ) {
setNonBlocking();
rx = tcpSocket::waitRead(pd_socket, t);
Regards,
Daniel.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20150527/7244d2f0/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ssl.patch
Type: application/octet-stream
Size: 474 bytes
Desc: not available
URL: <http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20150527/7244d2f0/attachment.obj>
More information about the omniORB-list
mailing list