BIND 10 #2198: make sure InterprocessSyncLocker is thread safe
BIND 10 Development
do-not-reply at isc.org
Mon Oct 22 01:36:39 UTC 2012
#2198: make sure InterprocessSyncLocker is thread safe
-------------------------------------+-------------------------------------
Reporter: | Owner: muks
jinmei | Status: closed
Type: | Milestone:
defect | Sprint-20121023
Priority: | Resolution: fixed
medium | Sensitive: 0
Component: | Sub-Project: Core
logging | Estimated Difficulty: 5
Keywords: | Total Hours: 3.85
Defect Severity: N/A |
Feature Depending on Ticket: |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Changes (by muks):
* status: reviewing => closed
* resolution: => fixed
Comment:
I've had to rewrite all patches on top of `master` as it had moved on, and
also because the earlier merge+revert got git thinking that the reverted
state was the latest state of code (and it didn't apply changes in this
branch). They don't need re-review as the patches are the same, just
rebased.
Merged to `master` in commit `e6ba20b0907ab7e861e608a71a35f71ab228e79f`:
{{{
* 4e199b2 [2198] Move get methods into unnamed namespace
* c3a8f64 [2198] Fix library paths to add lib/util/threads/ too (Mac OS
test failure)
* 73f49fc [2198] Avoid static destruction fiasco with InterprocessSyncFile
and logger
* 59d1e77 [2198] Check for EDEADLK too when using Mutex::tryLock()
* d7a9543 [2198] Link -lpthread in libb10-threads target
* 1bb3279 [2198] Don't return anything from thread functions
* 9a85c00 [2198] Update comment
* 9de4809 [2198] Test the non-blocking variant of Mutex::Locker
* 11df86c [2198] Check pthread_mutex_trylock()'s return value
* 699a941 [2198] Revert include to local
* a80cd44 [2198] Stop using direct lock methods on Mutex inside
InterprocessSyncFile
* 48bfbcc [2198] Fix include filename
* 13e9951 [2198] Make direct methods on Mutex private
* f8fb9a0 [2198] Add a block argument to Mutex::Locker's constructor
* 1b638d6 [2198] Add AlreadyLocked exception to Mutex::Locker
* 638f92b [2198] Remove dependency on libb10-util in
src/lib/util/unittests/
* 1c5c694 [2198] First use a mutex for mutual exclusion among threads,
then a lock file
* b09b430 [2198] Add Mutex::tryLock() and make lock methods public
* 2d01422 [2198] Test that locks work from threads
* 0a4ef32 [2198] Build threads directory first because . depends on it
}}}
Also committed one more fix to `master`:
{{{
* ae2e285 [master] Execute run_dbutil.sh using shell
}}}
This is necessary because run_dbutil.sh sometimes loses its execute (+x)
mode bit when regenerated, and tests fail due to it.
Resolving as fixed. Thank you for the reviews Michal.
--
Ticket URL: <https://bind10.isc.org/ticket/2198#comment:27>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list