BIND 10 trac957, updated. 1ff545f50926224d095e3809636c642219ea9078 [trac957] Added new ChangeLog entry
BIND 10 source code commits
bind10-changes at lists.isc.org
Fri Jun 10 06:17:30 UTC 2011
The branch, trac957 has been updated
discards 879663a28bd59692b3745f9e1851412a73872460 (commit)
discards 8abc6698d085aeb474d705403f7b15c2e3505fc2 (commit)
via 1ff545f50926224d095e3809636c642219ea9078 (commit)
via e47b0a39b7849489e6d9a167117ebb3be5eea4d4 (commit)
via 3e1fae0b23d4df32f239e5aa1350e40557d8ada4 (commit)
This update added new revisions after undoing existing revisions. That is
to say, the old revision is not a strict subset of the new revision. This
situation occurs when you --force push a change and generate a repository
containing something like this:
* -- * -- B -- O -- O -- O (879663a28bd59692b3745f9e1851412a73872460)
\
N -- N -- N (1ff545f50926224d095e3809636c642219ea9078)
When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 1ff545f50926224d095e3809636c642219ea9078
Author: Yoshitaka Aharen <aharen at jprs.co.jp>
Date: Mon May 23 17:37:49 2011 +0900
[trac957] Added new ChangeLog entry
commit e47b0a39b7849489e6d9a167117ebb3be5eea4d4
Author: Yoshitaka Aharen <aharen at jprs.co.jp>
Date: Mon May 23 16:29:04 2011 +0900
[trac957] Fixed the bug that destructIntervalTimer segfaults.
- pass boost::shared_ptr of IntervalTimerImpl wrapped with boost::bind
as a handler of asio::deadline_timer
- use boost::shared_ptr to hold pImpl
commit 3e1fae0b23d4df32f239e5aa1350e40557d8ada4
Author: Yoshitaka Aharen <aharen at jprs.co.jp>
Date: Fri Jun 10 15:05:10 2011 +0900
[trac957] Add assertion check to detect use-after-free type of bugs
-----------------------------------------------------------------------
Summary of changes:
src/lib/asiolink/interval_timer.cc | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
-----------------------------------------------------------------------
diff --git a/src/lib/asiolink/interval_timer.cc b/src/lib/asiolink/interval_timer.cc
index 2830a3b..502bf80 100644
--- a/src/lib/asiolink/interval_timer.cc
+++ b/src/lib/asiolink/interval_timer.cc
@@ -59,14 +59,18 @@ private:
long interval_;
// asio timer
asio::deadline_timer timer_;
+ // interval_ will be set to this value in destructor in order to detect
+ // use-after-free type of bugs.
+ static const long INVALIDATED_INTERVAL = -1;
};
IntervalTimerImpl::IntervalTimerImpl(IOService& io_service) :
interval_(0), timer_(io_service.get_io_service())
{}
-IntervalTimerImpl::~IntervalTimerImpl()
-{}
+IntervalTimerImpl::~IntervalTimerImpl() {
+ interval_ = INVALIDATED_INTERVAL;
+}
void
IntervalTimerImpl::setup(const IntervalTimer::Callback& cbfunc,
@@ -107,6 +111,7 @@ IntervalTimerImpl::update() {
void
IntervalTimerImpl::callback(const asio::error_code& ec) {
+ assert(interval_ != INVALIDATED_INTERVAL);
if (interval_ == 0 || ec) {
// timer has been canceled. Do nothing.
} else {
More information about the bind10-changes
mailing list