#33760 [Opn->Asn]: cURL needs to implement CRYPTO_callback functions to prevent locking
| From: | edink@php.net | Date: | Sun, 23 Oct 2005 22:09:11 +0000 |
| Subject: | #33760 [Opn->Asn]: cURL needs to implement CRYPTO_callback functions to prevent locking | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-86950@lists.php.net to get a copy of this message | ||
ID: 33760
Updated by: edink@php.net
Reported By: eja40 at cam dot ac dot uk
-Status: Open
+Status: Assigned
Bug Type: cURL related
Operating System: *
PHP Version: 5CVS, 4CVS, 6CVS
-Assigned To:
+Assigned To: mike
New Comment:
Mike, since you got this thing to work with pecl/http could you have a
look at implementing the callbacks in the curl extension?
Previous Comments:
------------------------------------------------------------------------
[2005-07-28 00:46:46] daniel-curl at haxx dot se
This is clearly documented in the libcurl tutorial and has been
required by libcurl for years.
Available online here:
http://curl.haxx.se/libcurl/c/libcurl-tutorial.html#Multi-threading
Certainly we are open for other/new solutions, but that doesn't fix
this problem for you for older libcurl installations.
------------------------------------------------------------------------
[2005-07-20 15:18:08] eja40 at cam dot ac dot uk
To help flesh out this problem and the solution - the example OpenSSL
locking code is given by cURL here:
http://curl.haxx.se/lxr/source/docs/examples/opensslthreadlock.c
------------------------------------------------------------------------
[2005-07-20 15:12:58] eja40 at cam dot ac dot uk
Sorry I don't know how to patch it myself.
However cURL insist that this must be implemented at the highest thread
level - it cannot be implemented in libcurl (I don't understand why).
Therefore it must be implemented in the PHP code.
------------------------------------------------------------------------
[2005-07-19 00:48:46] eja40 at cam dot ac dot uk
Description:
------------
I am experiencing problems when using multi-threaded cURL requests.
When I have more than about 5 threads connecting using HTTPS, all
subsequent threads fail to connect (regardless of the timeout used).
I presume this is because PHP hasn't implemented the CRYPTO_callback
functions to prevent OpenSSL locking.
Sorry I have no idea how to implement this fix myself - but the
solution to the problem is elaborated here:
http://curl.haxx.se/mail/lib-2004-06/0086.html
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=33760&edit=1