summaryrefslogtreecommitdiff
path: root/src/caffe
diff options
context:
space:
mode:
authorEvan Shelhamer <shelhamer@imaginarynumber.net>2015-01-15 20:43:53 -0800
committerEvan Shelhamer <shelhamer@imaginarynumber.net>2015-01-15 20:43:53 -0800
commitf84747113ff1ad0688f0b2d90369e883f05529e4 (patch)
tree65c9d86f6ff7afb927cfde79af341a9f7bd99d56 /src/caffe
parent119890974e10ec203b43008146dc49fd2e891533 (diff)
parent85477b75f7411efa3bf97c2c2cfec403205b7ce6 (diff)
downloadcaffeonacl-f84747113ff1ad0688f0b2d90369e883f05529e4.tar.gz
caffeonacl-f84747113ff1ad0688f0b2d90369e883f05529e4.tar.bz2
caffeonacl-f84747113ff1ad0688f0b2d90369e883f05529e4.zip
Merge pull request #1335 from ryotat/master
Fix leaking thread and groom internal thread implementation.
Diffstat (limited to 'src/caffe')
-rw-r--r--src/caffe/internal_thread.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/caffe/internal_thread.cpp b/src/caffe/internal_thread.cpp
index d7b6ae20..58772e36 100644
--- a/src/caffe/internal_thread.cpp
+++ b/src/caffe/internal_thread.cpp
@@ -1,23 +1,23 @@
+#include <boost/thread.hpp>
#include "caffe/internal_thread.hpp"
-#include "caffe/util/thread.hpp"
-
namespace caffe {
InternalThread::~InternalThread() {
WaitForInternalThreadToExit();
- if (thread_ != NULL) {
- delete thread_;
- }
}
+bool InternalThread::is_started() const {
+ return thread_.get() != NULL && thread_->joinable();
+}
+
+
bool InternalThread::StartInternalThread() {
if (!WaitForInternalThreadToExit()) {
return false;
}
try {
- thread_ = new caffe::Thread
- (&InternalThread::InternalThreadEntry, this);
+ thread_.reset(new boost::thread(&InternalThread::InternalThreadEntry, this));
} catch (...) {
return false;
}