Hi, everybody

   I meet a problem. I write a COM DLL using in the web server. This
dll uses some functions in openssl. When I use this dll in a VB
program, it works fine. But when I put it in the web server's compnet
service, and while the clients connet to the server, an asp will
create a object of the dll. If lots of clients connet to the server at
the same time, there are exceptions produced. Most of the exceptions
are c0000005 ACCESS VIOLATION. I use Windgb to debug the dllhost.exe
and find that the exception are almost the same.
   The exception produced at OpenSSL_add_all_algorithms().
   I search the web and find that somebody said
OpenSSL_add_all_algorithms() and EVP_cleanup() are not thread-safey.
And the coder should protect the table which
OpenSSL_add_all_algorithms()  created.
   I don't know if it is true. But I think the exceptions I met were
produced by the resource competition because if I use one thread to
call the dll for a very long times, it works fine.
   I use some functions from <Network Security with Openssl> to
protect the program, but it doesn't work and the exceptions are like
before.



  Could anybody give some advices on solving the problem? I am not
familiar with muitithread program.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to