[openssl-users] Extra EPOLLIN event at end of SSL connection

counterpoint martin at black-sheep-research.com
Mon Feb 8 14:43:00 UTC 2016


Working on a multi-threaded system that is providing an SSL server
capability, I am running into an odd problem at the end of a connection.
There seems no functional downside, in that it appears all data is handled
correctly. The trouble is errors are being logged.

What seems to happen is that the connection works fine up to the point where
it comes to an end. The client uses the application protocol (MySQL) to send
a message saying it wants to disconnect. However, it seems that there is an
EPOLLIN event that occurs after this. Because of the multi-threading, it is
possible for the new EPOLLIN event to be processed before the relevant entry
is removed from the poll list. This results in an SSL_read that gives back a
SYSCALL error but no further analysis can be done as nothing returns from
ERR_get_error.

It is possible to put in some extra tests and reduce the incidence of the
problem, but in the nature of multi-threading, it does not look possible to
totally eliminate it. So I am wondering why there is an extra EPOLLIN event
when it is not possible to do an SSL_read.  Is there anything I could do to
prevent it?



--
View this message in context: http://openssl.6102.n7.nabble.com/Extra-EPOLLIN-event-at-end-of-SSL-connection-tp63384.html
Sent from the OpenSSL - User mailing list archive at Nabble.com.


More information about the openssl-users mailing list