summaryrefslogtreecommitdiff
path: root/src/VBox/Additions/common/VBoxService/VBoxServiceControl.cpp
diff options
context:
space:
mode:
authorFelix Geyer <debfx-pkg@fobos.de>2011-10-17 14:18:31 +0200
committerFelix Geyer <debfx-pkg@fobos.de>2011-10-17 14:18:31 +0200
commit1cf00a61132b69bc7e27254fdd74bf105d2da28c (patch)
treea7d314cc5ec77b4ce3e1f037af600b53ae1d43f8 /src/VBox/Additions/common/VBoxService/VBoxServiceControl.cpp
parentf8fd93b0b6b13ba94584bb61c1efd1a761f438c9 (diff)
downloadvirtualbox-1cf00a61132b69bc7e27254fdd74bf105d2da28c.tar.gz
Imported Upstream version 4.1.4-dfsgupstream/4.1.4-dfsg
Diffstat (limited to 'src/VBox/Additions/common/VBoxService/VBoxServiceControl.cpp')
-rw-r--r--src/VBox/Additions/common/VBoxService/VBoxServiceControl.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/VBox/Additions/common/VBoxService/VBoxServiceControl.cpp b/src/VBox/Additions/common/VBoxService/VBoxServiceControl.cpp
index 80ce6e61c..8de4144e4 100644
--- a/src/VBox/Additions/common/VBoxService/VBoxServiceControl.cpp
+++ b/src/VBox/Additions/common/VBoxService/VBoxServiceControl.cpp
@@ -1,4 +1,4 @@
-/* $Id: VBoxServiceControl.cpp 38157 2011-07-25 13:10:12Z vboxsync $ */
+/* $Id: VBoxServiceControl.cpp $ */
/** @file
* VBoxServiceControl - Host-driven Guest Control.
*/
@@ -251,6 +251,7 @@ static DECLCALLBACK(void) VBoxServiceControlStop(void)
}
}
+
void VBoxServiceControlThreadSignalShutdown(const PVBOXSERVICECTRLTHREAD pThread)
{
AssertPtrReturnVoid(pThread);
@@ -262,7 +263,8 @@ int VBoxServiceControlThreadWaitForShutdown(const PVBOXSERVICECTRLTHREAD pThread
{
AssertPtrReturn(pThread, VERR_INVALID_POINTER);
int rc = VINF_SUCCESS;
- if (pThread->Thread != NIL_RTTHREAD)
+ if ( pThread->Thread != NIL_RTTHREAD
+ && !pThread->fShutdown) /* Only shutdown threads which aren't yet. */
{
/* Wait a bit ... */
rc = RTThreadWait(pThread->Thread, 30 * 1000 /* Wait 30 seconds max. */, NULL);