>>>>> On Tue, 18 Dec 2007 09:15:42 +0100, Jurko Gospodnetić  said:
> 
>    Hi Martin.
> 
>    Thank you for replying.
> 
> > Yes, sometimes there is nothing on the error queue after SSL_get_error() has
> > returned SSL_ERROR_SYSCALL.
> 
>    That's what I assumed.
> 
> > Also, if your app is multithreaded then don't forget to implement all of the
> > crypto locking/threadid functions, otherwise there will be confusion about
> > error codes between the threads.
> 
>    Hmmm in this case all the crypto functionality is pretty much locked 
> into one thread at a time so this is not a problem, but are you sure 
> this is the case? Is not the error queue implemented using thread level 
> storage? Similar to how this is usually done for standard C cerror or 
> Windows GetLastError() error codes?

Yes, but AFAICS, the error queue uses thread level storage that is implemented
within OpenSSL itself.  That uses the crypto locking functions to make a
thread-safe hash table mapping the crypto threadid to the queue structure for
that thread.

__Martin
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to