- Added daemon start functionality
[qtrapids] / src / server / AlertWaiterThread.cpp
index 77e7767..6c73330 100644 (file)
@@ -33,7 +33,9 @@ const libtorrent::time_duration ALERT_WAIT_TIMEOUT
 
 AlertWaiterThread::AlertWaiterThread(session_t *session, QObject* parent) :
                QThread(parent),
-               btSession_(session)
+               btSession_(session),
+               running_(false),
+               alertMutex_()
 {
 }
 
@@ -58,7 +60,8 @@ void AlertWaiterThread::allAlerts(bool enable)
 void AlertWaiterThread::run()
 {
        alert_t const *alertTemp = NULL;
-       while (true) {
+       running_ = true;
+       while (running_) {
                // wait_for_alert() call blocks. Returns libtorrent alert.
                // Returns NULL, if no alerts in timeout period.
                alertTemp = btSession_->wait_for_alert(ALERT_WAIT_TIMEOUT);
@@ -68,4 +71,13 @@ void AlertWaiterThread::run()
        }
 }
 
+
+void AlertWaiterThread::stop()
+{
+       alertMutex_.lock();
+       running_ = false;
+       alertMutex_.unlock();
 }
+
+
+} // namespace qtrapids