summaryrefslogtreecommitdiff
path: root/src/VBox/Main/glue/EventQueue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Main/glue/EventQueue.cpp')
-rw-r--r--src/VBox/Main/glue/EventQueue.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/VBox/Main/glue/EventQueue.cpp b/src/VBox/Main/glue/EventQueue.cpp
index 1216f512e..e812277f3 100644
--- a/src/VBox/Main/glue/EventQueue.cpp
+++ b/src/VBox/Main/glue/EventQueue.cpp
@@ -1,4 +1,4 @@
-/* $Id: EventQueue.cpp 33720 2010-11-03 10:54:42Z vboxsync $ */
+/* $Id: EventQueue.cpp $ */
/** @file
* MS COM / XPCOM Abstraction Layer:
* Event and EventQueue class declaration
@@ -29,6 +29,7 @@
#include <iprt/err.h>
#include <iprt/time.h>
#include <iprt/thread.h>
+#include <iprt/log.h>
#ifdef USE_XPCOM_QUEUE
# include <errno.h>
#endif
@@ -340,6 +341,13 @@ static int waitForEventsOnXPCOM(nsIEventQueue *pQueue, RTMSINTERVAL cMsTimeout)
rc = VINF_INTERRUPTED;
else
{
+ static uint32_t s_ErrorCount = 0;
+ if (s_ErrorCount < 500)
+ {
+ LogRel(("waitForEventsOnXPCOM rc=%d errno=%d\n", rc, errno));
+ ++s_ErrorCount;
+ }
+
AssertMsgFailed(("rc=%d errno=%d\n", rc, errno));
rc = VERR_INTERNAL_ERROR_4;
}
@@ -510,7 +518,8 @@ int EventQueue::processEventQueue(RTMSINTERVAL cMsTimeout)
}
if ( ( RT_SUCCESS(rc)
- || rc == VERR_INTERRUPTED)
+ || rc == VERR_INTERRUPTED
+ || rc == VERR_TIMEOUT)
&& mInterrupted)
{
mInterrupted = false;