utl.cpp (Firebird-3.0.2.32703-0.tar.bz2) | : | utl.cpp (Firebird-3.0.4.33054-0.tar.bz2) | ||
---|---|---|---|---|
skipping to change at line 59 | skipping to change at line 59 | |||
#include "../common/gdsassert.h" | #include "../common/gdsassert.h" | |||
#include "../jrd/ibase.h" | #include "../jrd/ibase.h" | |||
#include "../yvalve/msg.h" | #include "../yvalve/msg.h" | |||
#include "../jrd/event.h" | #include "../jrd/event.h" | |||
#include "../yvalve/gds_proto.h" | #include "../yvalve/gds_proto.h" | |||
#include "../yvalve/utl_proto.h" | #include "../yvalve/utl_proto.h" | |||
#include "../yvalve/YObjects.h" | #include "../yvalve/YObjects.h" | |||
#include "../yvalve/why_proto.h" | #include "../yvalve/why_proto.h" | |||
#include "../yvalve/prepa_proto.h" | #include "../yvalve/prepa_proto.h" | |||
#include "../yvalve/PluginManager.h" | ||||
#include "../jrd/constants.h" | #include "../jrd/constants.h" | |||
#include "../jrd/build_no.h" | #include "../jrd/build_no.h" | |||
#include "../common/classes/ClumpletWriter.h" | #include "../common/classes/ClumpletWriter.h" | |||
#include "../common/utils_proto.h" | #include "../common/utils_proto.h" | |||
#include "../common/classes/MetaName.h" | #include "../common/classes/MetaName.h" | |||
#include "../common/classes/TempFile.h" | #include "../common/classes/TempFile.h" | |||
#include "../common/classes/DbImplementation.h" | #include "../common/classes/DbImplementation.h" | |||
#include "../common/ThreadStart.h" | #include "../common/ThreadStart.h" | |||
#include "../common/isc_f_proto.h" | #include "../common/isc_f_proto.h" | |||
#include "../common/StatusHolder.h" | #include "../common/StatusHolder.h" | |||
skipping to change at line 2906 | skipping to change at line 2907 | |||
err = pthread_setspecific(key, &key); | err = pthread_setspecific(key, &key); | |||
if (err) | if (err) | |||
{ | { | |||
Firebird::system_call_failed("pthread_setspecific", err); | Firebird::system_call_failed("pthread_setspecific", err); | |||
} | } | |||
} | } | |||
void ThreadCleanup::finiThreadCleanup() | void ThreadCleanup::finiThreadCleanup() | |||
{ | { | |||
pthread_setspecific(key, NULL); | pthread_setspecific(key, NULL); | |||
PluginManager::threadDetach(); | ||||
} | } | |||
class FiniThreadCleanup | class FiniThreadCleanup | |||
{ | { | |||
public: | public: | |||
FiniThreadCleanup(Firebird::MemoryPool&) | FiniThreadCleanup(Firebird::MemoryPool&) | |||
{ } | { } | |||
~FiniThreadCleanup() | ~FiniThreadCleanup() | |||
{ | { | |||
skipping to change at line 2937 | skipping to change at line 2939 | |||
#endif // USE_POSIX_THREADS | #endif // USE_POSIX_THREADS | |||
#ifdef WIN_NT | #ifdef WIN_NT | |||
void ThreadCleanup::initThreadCleanup() | void ThreadCleanup::initThreadCleanup() | |||
{ | { | |||
} | } | |||
void ThreadCleanup::finiThreadCleanup() | void ThreadCleanup::finiThreadCleanup() | |||
{ | { | |||
PluginManager::threadDetach(); | ||||
} | } | |||
#endif // #ifdef WIN_NT | #endif // #ifdef WIN_NT | |||
ThreadCleanup** ThreadCleanup::findCleanup(FPTR_VOID_PTR cleanup, void* arg) | ThreadCleanup** ThreadCleanup::findCleanup(FPTR_VOID_PTR cleanup, void* arg) | |||
{ | { | |||
for (ThreadCleanup** ptr = &chain; *ptr; ptr = &((*ptr)->next)) | for (ThreadCleanup** ptr = &chain; *ptr; ptr = &((*ptr)->next)) | |||
{ | { | |||
if ((*ptr)->function == cleanup && (*ptr)->argument == arg) | if ((*ptr)->function == cleanup && (*ptr)->argument == arg) | |||
{ | { | |||
return ptr; | return ptr; | |||
End of changes. 3 change blocks. | ||||
0 lines changed or deleted | 3 lines changed or added |