summaryrefslogtreecommitdiffstats
path: root/base/message_pump_libevent_unittest.cc
diff options
context:
space:
mode:
authorscr@chromium.org <scr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-01 08:41:06 +0000
committerscr@chromium.org <scr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-01 08:41:06 +0000
commit5f19e4014af541e00062d64b44a3cdd76db15d57 (patch)
tree344c9c168bf8e20e90010384dfd5c60c247abf25 /base/message_pump_libevent_unittest.cc
parent4efbc90fd6f40d2982a3a7b9311a8bf448f27f10 (diff)
downloadchromium_src-5f19e4014af541e00062d64b44a3cdd76db15d57.zip
chromium_src-5f19e4014af541e00062d64b44a3cdd76db15d57.tar.gz
chromium_src-5f19e4014af541e00062d64b44a3cdd76db15d57.tar.bz2
Added DCHECKS for speculative leak condition.
R=willchan@chromium.org BUG=16661 TEST=unit_tests Review URL: https://chromiumcodereview.appspot.com/10447131 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139998 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/message_pump_libevent_unittest.cc')
-rw-r--r--base/message_pump_libevent_unittest.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/base/message_pump_libevent_unittest.cc b/base/message_pump_libevent_unittest.cc
index 19a2084..acc33c0 100644
--- a/base/message_pump_libevent_unittest.cc
+++ b/base/message_pump_libevent_unittest.cc
@@ -82,18 +82,22 @@ class DeleteWatcher : public MessagePumpLibevent::Watcher {
: controller_(controller) {
DCHECK(controller_);
}
- virtual ~DeleteWatcher() {}
+ virtual ~DeleteWatcher() {
+ DCHECK(!controller_);
+ }
// base:MessagePumpLibevent::Watcher interface
virtual void OnFileCanReadWithoutBlocking(int /* fd */) OVERRIDE {
NOTREACHED();
}
virtual void OnFileCanWriteWithoutBlocking(int /* fd */) OVERRIDE {
+ DCHECK(controller_);
delete controller_;
+ controller_ = NULL;
}
private:
- MessagePumpLibevent::FileDescriptorWatcher* const controller_;
+ MessagePumpLibevent::FileDescriptorWatcher* controller_;
};
TEST_F(MessagePumpLibeventTest, DeleteWatcher) {