VirtualBox

Changeset 92863 in vbox


Ignore:
Timestamp:
Dec 10, 2021 2:06:21 PM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
148804
Message:

Guest Control/VBoxManage: Follow-up fix for r148802 -- we need to process the event queue, otherwise our registered listeners won't get any events.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManageGuestCtrl.cpp

    r92861 r92863  
    37133713            RTPrintf(GuestCtrl::tr("Waiting for events ...\n"));
    37143714
    3715         /* Wait for the global signal semaphore getting signalled. */
    3716         int vrc = RTSemEventWait(g_SemEventGuestCtrlCanceled, cMsTimeout);
    3717         if (vrc == VERR_TIMEOUT)
    3718         {
    3719             if (pCtx->cVerbose)
    3720                 RTPrintf(GuestCtrl::tr("Waiting done\n"));
    3721         }
    3722         else if (RT_FAILURE(vrc))
    3723             RTPrintf(GuestCtrl::tr("Waiting failed with %Rrc\n"), vrc);
     3715        RTMSINTERVAL tsStart = RTTimeMilliTS();
     3716        while (RTTimeMilliTS() - tsStart < cMsTimeout)
     3717        {
     3718            /* Wait for the global signal semaphore getting signalled. */
     3719            int vrc = RTSemEventWait(g_SemEventGuestCtrlCanceled, 100 /* ms */);
     3720            if (RT_FAILURE(vrc))
     3721            {
     3722                if (vrc != VERR_TIMEOUT)
     3723                {
     3724                    RTPrintf(GuestCtrl::tr("Waiting failed with %Rrc\n"), vrc);
     3725                    break;
     3726                }
     3727            }
     3728            else
     3729                break;
     3730
     3731            /* We need to process the event queue, otherwise our registered listeners won't get any events. */
     3732            NativeEventQueue::getMainEventQueue()->processEventQueue(0);
     3733        }
    37243734
    37253735        if (!pGuestListener.isNull())
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette