Index: /trunk/src/VBox/VMM/DBGF.cpp
===================================================================
--- /trunk/src/VBox/VMM/DBGF.cpp	(revision 23924)
+++ /trunk/src/VBox/VMM/DBGF.cpp	(revision 23925)
@@ -620,4 +620,5 @@
          * Wait.
          */
+        uint32_t cPollHack = 1; /** @todo this interface is horrible now that we're using lots of VMR3ReqCall stuff all over DBGF. */
         for (;;)
         {
@@ -626,5 +627,5 @@
                 &&  !VMCPU_FF_ISPENDING(pVCpu, VMCPU_FF_REQUEST))
             {
-                int rc = RTSemPingWait(&pVM->dbgf.s.PingPong, 250);
+                int rc = RTSemPingWait(&pVM->dbgf.s.PingPong, cPollHack);
                 if (RT_SUCCESS(rc))
                     break;
@@ -637,5 +638,8 @@
 
             if (VM_FF_ISPENDING(pVM, VM_FF_EMT_RENDEZVOUS))
+            {
                 rc = VMMR3EmtRendezvousFF(pVM, pVCpu);
+                cPollHack = 1;
+            }
             else if (   VM_FF_ISPENDING(pVM, VM_FF_REQUEST)
                      || VMCPU_FF_ISPENDING(pVCpu, VMCPU_FF_REQUEST))
@@ -646,7 +650,12 @@
                     rc = VMR3ReqProcessU(pVM->pUVM, pVCpu->idCpu);
                 LogFlow(("dbgfR3VMMWait: VMR3ReqProcess -> %Rrc rcRet=%Rrc\n", rc, rcRet));
+                cPollHack = 1;
             }
             else
+            {
                 rc = VINF_SUCCESS;
+                if (cPollHack < 120)
+                    cPollHack++;
+            }
 
             if (rc >= VINF_EM_FIRST && rc <= VINF_EM_LAST)
