Don't clear caClientCallbackThreadId in CA's exit handler

This commit is contained in:
Andrew Johnson
2019-05-06 12:22:34 -05:00
parent 16ddcaeaed
commit 2d3de1916b
2 changed files with 9 additions and 1 deletions

View File

@@ -16,6 +16,15 @@
<!-- Insert new items immediately below here ... -->
<h3>Cleaning up with Multiple CA contexts in a Process</h3>
<p>Bruno Martins reported a problem with the CA client library at shutdown in a
process that uses multiple CA client contexts. The first context that triggers
the CA client exit handler prevents any others from being able to clean up
because it resets the ID of an internal epicsThreadPrivate variable which is
shared by all clients. This action has been removed from the client library,
which makes cleanup of clients like this possible.</p>
<h3>Perl CA bindings fixed for macOS Mojave</h3>
<p>Apple removed some Perl header files from macOS Mojave that were available

View File

@@ -48,7 +48,6 @@ const unsigned ca_client_context :: flushBlockThreshold = 0x58000;
extern "C" void cacExitHandler ( void *)
{
epicsThreadPrivateDelete ( caClientCallbackThreadId );
caClientCallbackThreadId = 0;
delete ca_client_context::pDefaultServiceInstallMutex;
}