-
Georgi Kodinov authored
Bot the version token plugin and the related UDFs are using a common global data structure. This structure was disposed of at UNINSTALL PLUGIN and a flag was set but between disposing of the structure and setting the flag there was a raise window if some other thread calls the UDF afgain. Also the global rw lock protecting the common structure was never disposed of. Fixed by introducing a check for the global structure right inside the lock. Added a C++ class whose destructor releases the RW lock when the shared object is unloaded at the last UDF/plugin uninstallation. Updated the tests to mention the error name next to the error code.
Georgi Kodinov authoredBot the version token plugin and the related UDFs are using a common global data structure. This structure was disposed of at UNINSTALL PLUGIN and a flag was set but between disposing of the structure and setting the flag there was a raise window if some other thread calls the UDF afgain. Also the global rw lock protecting the common structure was never disposed of. Fixed by introducing a check for the global structure right inside the lock. Added a C++ class whose destructor releases the RW lock when the shared object is unloaded at the last UDF/plugin uninstallation. Updated the tests to mention the error name next to the error code.
Loading