-
Stephan Bergmann yazdı
...that was introduced in b88a62cc "CWS-TOOLING: integrate CWS dbaperf2," apparently to speed up later activity by pre-loading a JVM or Calc. The problem is that any spawned FastLoader thread was never joined, so could still run during exit. That caused many spurious failures of CppunitTest_sw_uiwriter after df726c8b "CppunitTest_sw_uiwriter: add embedded data source definition testcase" triggered spawning such FastLoader threads there. Adding code to join any spawned FastLoader thread is not easy, though. For one, it is not clear whether there would not be very many (terminated, waiting to be joined, thus still holding up system resources) such treads when doing the join in ~DatasourceURLListener or DatasourceURLListener::disposing. For another, a naive attempt at joining in ~DatasourceURLListener leads to deadlock, as it is called with the SolarMutex locked and the E_CALC branch in FastLoader::run blocks waiting to acquire it. Thus, the best approach appears to be to remove this optimization. Hopefully, that does not have too dire performance impacts on typcial user scenarios. Change-Id: Ifeab013ddd8acee1289423facba0c120684e9325
670100fc