Revision: 40750
http://brlcad.svn.sourceforge.net/brlcad/?rev=40750&view=rev
Author: davidloman
Date: 2010-09-28 18:30:12 +0000 (Tue, 28 Sep 2010)
Log Message:
-----------
Made ControlledThread::shutdown() take an optional blocking boolean. Default
is true. Shutdown() now blocks until thread has terminated.
Modified Paths:
--------------
rt^3/trunk/include/ControlledThread.h
rt^3/trunk/src/utility/ControlledThread.cxx
Modified: rt^3/trunk/include/ControlledThread.h
===================================================================
--- rt^3/trunk/include/ControlledThread.h 2010-09-28 18:21:45 UTC (rev
40749)
+++ rt^3/trunk/include/ControlledThread.h 2010-09-28 18:30:12 UTC (rev
40750)
@@ -33,7 +33,7 @@
virtual ~ControlledThread();
bool startup();
- bool shutdown();
+ bool shutdown(bool block=true);
protected:
virtual bool preStartupHook();
Modified: rt^3/trunk/src/utility/ControlledThread.cxx
===================================================================
--- rt^3/trunk/src/utility/ControlledThread.cxx 2010-09-28 18:21:45 UTC (rev
40749)
+++ rt^3/trunk/src/utility/ControlledThread.cxx 2010-09-28 18:30:12 UTC (rev
40750)
@@ -43,9 +43,15 @@
bool postRetVal = this->postStartupHook();
}
-bool ControlledThread::shutdown() {
+bool ControlledThread::shutdown(bool block) {
bool preRetVal = this->preShutdownHook();
this->runCmd = false;
+
+ if (block)
+ while (this->isRunning()) {
+ GSThread::msleep(100);
+ }
+
bool postRetVal = this->postShutdownHook();
}
@@ -56,7 +62,7 @@
this->_run();
this->postRunHook();
- this->runStatus = true;
+ this->runStatus = false;
}
void ControlledThread::_run() {
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits