Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make openbabel objects thread-safe #2273

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

jnooree
Copy link

@jnooree jnooree commented Aug 23, 2020

Currently, this pull request make only some of the openbabel objects thread-safe: OpenBabel::OBConversion and OpenBabel::OBGlobalDataBase. I will keep working on this topic for the rest of the objects and update this PR.

Important note: this commit will change the API of openbabel.

Major changes:

- Global ttab object is now thread-safe
- All related descriptions are now static
- Add OBTranslator object for translating operations

Minor changes:

- Remove unused variables
- Address some memory-related issues

TODO:

- member variable names are not consistent
- PatternFP descriptions are not the same as before

This resolves openbabel#2269.
Major Changes:

- Add OBResidueObserver class for residue operations
- Change global static mutexes into protected class member variables
- Add OBGlobalDBMutex class to address copyability issue
- OBMol, OBBase, and OBError classes are partially thread-safe
- Fix a static function-local variable in OBConversion to thread_local static variable
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant