Thanks Matt, good points. Not easy to implement though! In the problem case, my code is the server (it is a proxy), and the standard MariaDB command line client is the client. Yes, it does look as if everything is happening as it should, except that the process stops before all the data has been handled. The client is sending a large query (about 500 KB, using "load data local infile '/root/bigdata.txt' into table upload;"). If the client is connected directly to the database, using SSL, the query runs successfully. If the client is connected through the proxy without SSL (most of the logic exactly the same), the query runs successfully. If a shorter query is chosen, it works with SSL. Looking at the data flows with Wireshark, it looks about right, but I can't see the data in detail because of the SSL :) I thought the read ahead issue would have fixed both sides, but somehow the interface to the client still doesn't work. So it's hard to find things to diagnose, leaving me scratching round for inspiration and something to change that might fix things. And ideally, I need a quick result! Such is life. -- View this message in context: http://openssl.6102.n7.nabble.com/OpenSSL-non-blocking-epoll-hanging-on-data-receiving-tp66355p66396.html Sent from the OpenSSL - User mailing list archive at Nabble.com.