Use scoped_ptr for ThreadWrapper::CreateThread.
BUG=
R=henrika@webrtc.org, pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/45799004
Cr-Commit-Position: refs/heads/master@{#8794}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8794 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/system_wrappers/source/data_log.cc b/webrtc/system_wrappers/source/data_log.cc
index 41da872..7c2a91b 100644
--- a/webrtc/system_wrappers/source/data_log.cc
+++ b/webrtc/system_wrappers/source/data_log.cc
@@ -19,7 +19,6 @@
#include "webrtc/system_wrappers/interface/event_wrapper.h"
#include "webrtc/system_wrappers/interface/file_wrapper.h"
#include "webrtc/system_wrappers/interface/rw_lock_wrapper.h"
-#include "webrtc/system_wrappers/interface/thread_wrapper.h"
namespace webrtc {
@@ -322,14 +321,12 @@
: counter_(1),
tables_(),
flush_event_(EventWrapper::Create()),
- file_writer_thread_(NULL),
tables_lock_(RWLockWrapper::CreateRWLock()) {
}
DataLogImpl::~DataLogImpl() {
StopThread();
Flush(); // Write any remaining rows
- delete file_writer_thread_;
delete flush_event_;
for (TableMap::iterator it = tables_.begin(); it != tables_.end();) {
delete static_cast<LogTable*>(it->second);
@@ -356,8 +353,6 @@
instance_,
kHighestPriority,
"DataLog");
- if (file_writer_thread_ == NULL)
- return -1;
bool success = file_writer_thread_->Start();
if (!success)
return -1;
@@ -413,7 +408,7 @@
if (tables_.count(table_name) == 0)
return -1;
tables_[table_name]->NextRow();
- if (file_writer_thread_ == NULL) {
+ if (!file_writer_thread_) {
// Write every row to file as they get complete.
tables_[table_name]->Flush();
} else {
@@ -442,11 +437,9 @@
}
void DataLogImpl::StopThread() {
- if (file_writer_thread_ != NULL) {
+ if (file_writer_thread_) {
flush_event_->Set();
- // Call Stop() repeatedly, waiting for the Flush() call in Process() to
- // finish.
- while (!file_writer_thread_->Stop()) continue;
+ file_writer_thread_->Stop();
}
}