「view this page in B3 βῆτα server」

Revisions №60773

branch: master 「№60773」
Commited by: Vikram K. Mulligan
GitHub commit link: 「e18c5bffe6b30ded」 「№4004」
Difference from previous tested commit:  code diff
Commit date: 2019-06-14 18:01:26
linux.clang linux.gcc linux.srlz mac.clang
linux.PyRosetta.unit linux.gcc.python37.PyRosetta4.unit mac.PyRosetta.unit build.clean.debug cppcheck mysql postgres linux.clang.python36.build.debug linux.zeromq.debug mpi mpi.serialization linux.icc.build.debug OpenCL mac.clang.python36.build.debug build.header build.levels ninja graphics static linux.ui mac.ui build.xcode beautification serialization integration.mpi integration.release_debug integration.ubsan integration performance profile release.PyRosetta4.Debug release.PyRosetta4.conda.Release release.source linux.clang.score linux.gcc.score mac.clang.score linux.scripts.pyrosetta scripts.rosetta.parse scripts.rosetta.validate scripts.rosetta.verify linux.clang.unit.release linux.gcc.unit.release util.apps

Merge pull request #4004 from RosettaCommons/vmullig/threadsafe_options_system Make the options system threadsafe The options system is a nasty hunk of nonconst global data that isn't threadsafe. Let's make it threadsafe. Tasks: - [x] Make `OptionCollection` class threadsafe. - [x] Including the global variables defined in `OptionCollection.cc`. - [x] Make `ScalarOption_T_` threadsafe. - [x] Make `VectorOption_T_` threadsafe. - [x] Make `Option` class threadsafe. - [x] Add a `utility::thread::PairedReadLockWriteLockGuard` class for simultaneously read-locking one mutex and write-locking another without deadlock (_e.g._ for copying values from one object to another). - [x] Make the mutex-locked versions of the functions in `VectorOption_T_` private. - [x] Beauty. Possible additional spots to make threadsafe in a future pull request: - Make `AnyOption` class threadsafe. - Make `AnyOptionVector` class threadsafe. - Make `utility::keys::AutoKey` class threadsafe.

Test: linux.gcc.code_quality.beautification

 View log


 View log in dialog  View log in log in separate window
Test: linux.clang.performance

Failed sub-tests (click for more details):