David Schwartz wrote:
Thank you David. And thank everybody for the response. My program happens to be theSuggestion:
This is a usage error. Be sure to initialize openssl when your application starts or when your DLL is loaded. Do not wait for the first thread to attempt to make a call to OpenSSL to initialize it.
That is not always possible. The process may become multi-threaded long before it has any idea it's going to do anything related to SSL. Consider, for example, a DLL that extends Acrobat to be able to contain embedded interactive elements that communicate back to a server using a protocol layered on top of SSL. Acrobat may well be multi-threaded before the document is loaded and it is known that its content requires activating this external module.
DS
kind David described. It's a shell extension loaded by explorer.exe.
Aside from the way library get loaded, rand_win.c still seems to have some problem.
Here's what MSDN says about CreateToolhelp32Snapshot:
[QUOTE START]
To enumerate the heap or module states for all processes, specify TH32CS_SNAPALL
and set th32ProcessID to zero. Then, for each additional process in the snapshot,
call CreateToolhelp32Snapshot again, specifying its process identifier and the
TH32CS_SNAPHEAPLIST or TH32_SNAPMODULE value.
[QUOTE END]
I think it means one have to call snap N+1 times for N processes, while current
implementation calls it only once. Yet changing 1 to N+1 did not fix the problem.
My program still crashes from time to time on a slow and heavily loaded pc
at heap_next. I'll post again if I make any progress.
Cheers
Lei
______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]