Hello rdkit-discuss,

Commit 6cfd34
<https://github.com/rdkit/rdkit/commit/6cfd347eafc713a66ba66051d2fc21046e60be58>
from
2012 introduced a mutex to make the InChi code threadsafe.  InChI v1.05 was
released in 2017, with release notes announcing better thread safety:

As global and static objects may cause problems in a multi-threaded
> environment due to a possible race condition arising when more than one
> thread tries to access, they had to be removed from the InChI code.
> Corresponding changes were implemented.
> In particular, global variables associated with sorting and timing were
> replaced by objects which are passed to all functions that need access to
> the related data. Also, several functions which uses static variables that
> were initialized upon first entry into the function have been modified in
> order to avoid a race condition.
> Tests were performed for various applications using InChI Software Library
> and running up to 32 threads concurrently, and for datasets up to the whole
> Pubchem Compound set. No problems were encountered.
>

Can we safely remove the mutex with the v1.05 InChI release, or do we still
consider that library to be thread unsafe?

Best,
Jin Pan
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to