mirror of
https://github.com/rdkit/rdkit.git
synced 2026-06-03 21:44:30 +08:00
* External/INCHI-API: drop unnecessary mutex A mutex was introduced in 6cfd34 from 2012 around all InChI library calls, and InChI v1.05 release notes from 2017 announce that they fixed race conditions to support multithreading. We find that the InChI library mutex is no longer necessary with v1.05 and this patch removes it, which enables rdkit users to concurrently call InChI-related methods. This patch also updates the InChI multithreading tests to cover `MolBlockToInchi`, so we have test coverage of concurrently making all InChI calls. I ran `testInchi` under asan 200x and all runs passed cleanly. I was unable to configure the build toolchain with msan or tsan, so it is unclear to me if those sanitizers would flag any issues. * External/INCHI-API: add second multithreading test This test covers case where immediate concurrent usage of the InChI library leads to memory corruption. * remove ASAN workaround (not needed for InChI 1.06) clang-format run update inchi version to 1.06 in docs Co-authored-by: Jin Pan <jinxp1@gmail.com>