I just stumbled across the doc for the ERR_remove_state function. The code that I've written to exploit OpenSSL is a component of a much larger system. The system loads my code and uses it "envelope" data that the system sends over the network. The system may use any number of threads. Some threads will access my SSL code and some won't access it so I can't implement some "end of thread" routine that all threads call. Some threads may use multiple connections so I can't call ERR_remove_state when a connection gets closed. Wouldn't it have been better if the error queue had been stored in the SSL structure so that it is tied to a resource that a SSL provider actively manages instead of being tied to a resource, a thread, that the SSL provider may not be able to manage? ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]