[ https://issues.apache.org/jira/browse/THRIFT-2433?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alan Dunn updated THRIFT-2433: ------------------------------ Attachment: 0003-Add-unit-test-for-OpenSSL-manual-initialization.patch 0002-Add-ability-to-take-control-of-OpenSSL-initializatio.patch 0001-Expose-OpenSSL-initialization-functions.patch Patchset that adds this improvement. Can reformat as one patch (as per contributing rules) if desired, but it seemed multiple smaller logical patches might be a good idea. > Allow manual control of OpenSSL initialization/cleanup > ------------------------------------------------------ > > Key: THRIFT-2433 > URL: https://issues.apache.org/jira/browse/THRIFT-2433 > Project: Thrift > Issue Type: Improvement > Components: C++ - Library > Affects Versions: 0.9.1 > Reporter: Alan Dunn > Attachments: 0001-Expose-OpenSSL-initialization-functions.patch, > 0002-Add-ability-to-take-control-of-OpenSSL-initializatio.patch, > 0003-Add-unit-test-for-OpenSSL-manual-initialization.patch > > > Thrift's C++ TSSLSocketFactory controls OpenSSL library > initialization/cleanup. It initializes OpenSSL itself and de-initializes > OpenSSL after the last TSSLSocketFactory is destroyed. However, programs may > need to initialize OpenSSL themselves (e.g. they have other dependencies that > want to use OpenSSL) and may depend on OpenSSL functionality after the last > TSSLSocketFactory is destroyed. > I propose a mechanism to set TSSLSocketFactory to allow manual OpenSSL > initialization/cleanup, and to expose the initializeOpenSSL/cleanupOpenSSL > functions to the user. As a result, a user can choose when OpenSSL is > initialized and cleaned up, and can even use the prior Thrift code for > performing this initialization/cleanup if it is sufficient for their needs. > However, by default, OpenSSL initialization/cleanup will be automatic, so > only people who care about taking control of OpenSSL initialization/cleanup > will need to do anything. -- This message was sent by Atlassian JIRA (v6.2#6252)