GitHub user hessu opened a pull request: https://github.com/apache/trafficserver/pull/28
TS-2271: Support plugins which use libraries which create threads and use OpenSSL This pair of patches implements changes to support TS-2271 (https://issues.apache.org/jira/browse/TS-2271). * OpenSSL init + callbacks are changed to use raw pthread functions, so that they work from threads which were not created using the ATS thread API functions. * TSHttpTxnReenable does not segfault when it's called from an unexpected thread (not created by ATS thread API functions). These changes are helpful in case a plugin utilizes a third-party library, which in turn creates pthreads on its own, and ends up calling TSHttpTxnReenable from a thread created by the third-party library. You can merge this pull request into a Git repository by running: $ git pull https://github.com/hessu/trafficserver TS-2271-threaded-plugins Alternatively you can review and apply these changes as the patch at: https://github.com/apache/trafficserver/pull/28.patch ---- commit d414fa2f824687c256270a161feba9c45c616f20 Author: Heikki Hannikainen <he...@hes.iki.fi> Date: 2013-12-30T10:29:52Z TS-2271: Change the OpenSSL init + callbacks to use raw pthread functions commit 0c490352b72d7a0de85b31df15bfe33fd272fd0f Author: Heikki Hannikainen <he...@hes.iki.fi> Date: 2013-12-30T15:42:23Z TS-2271: Let TSHttpTxnReenable work gracefully when it's called from an unexpected thread (this_ethread() returns NULL). ----