Hello Sebastian, Thanks a lot for your reply !!
> The "consumer" (sender) will wait for a signal from the "producer" > (reader) and will block the shared buffer queue. This is, the > "producer" gains exclusive access to the ssl structure of the client > for SSL_read() and SSL_get_error() checking the SSL_ERROR_WANT_READ or > SSL_ERROR_WANT_WRITE, when he fetches some data, he then gain > exclusive access to the buffer queue, puts data on it, singals the > "consumer" and goes on to another read. > I guess that if you are using SSL_ERROR_WANT_READ, it is because you are dealing with a non blocking IO, so it is not exactly like the situation that I stated on my email. I guess using non blocking IO you have more control of the code and you can do more stuff to avoid concurrency issues. > > Please, if you have some information about threading issues I'll be > pleased to read it. > Right now I do not have any real problem and the application is working, but I know, because it is documented, that you should not share the ssl connection between threads. > > Thanks, > Thanks you !