--- \dev\logging-log4cxx\src\threadspecificdata.cpp 2005-05-04 18:13:41.000000000 +0200 +++ \dev\dvs4\src\log4cxx\src\threadspecificdata.cpp 2005-10-18 11:37:28.023625000 +0200 @@ -59,3 +59,19 @@ return data; #endif } + +void ThreadSpecificData::freeCurrentData() +{ +#if APR_HAS_THREADS + void* pData = NULL; + apr_status_t stat = apr_threadkey_private_get(&pData, APRInitializer::getTlsKey()); + if (stat != APR_SUCCESS) { + throw ThreadException(stat); + } + if (pData != NULL) { + apr_threadkey_private_set(NULL, APRInitializer::getTlsKey()); + ThreadSpecificData* deleteData = (ThreadSpecificData*)pData; + delete deleteData; + } +#endif +} \ No newline at end of file