VirtualBox

Ignore:
Timestamp:
Mar 15, 2017 7:59:48 PM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
114011
Message:

IPRT/RTThreadWait: Quick and dirty workaround for Ctrl-C deadlock with VirtualBox.exe.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/misc/thread.cpp

    r65620 r66120  
    11661166            if (pThread->fFlags & RTTHREADFLAGS_WAITABLE)
    11671167            {
    1168                 if (fAutoResume)
    1169                     rc = RTSemEventMultiWait(pThread->EventTerminated, cMillies);
     1168#if defined(IN_RING3) && defined(RT_OS_WINDOWS)
     1169                if (RT_LIKELY(rtThreadNativeIsAliveKludge(pThread)))
     1170#endif
     1171                {
     1172                    if (fAutoResume)
     1173                        rc = RTSemEventMultiWait(pThread->EventTerminated, cMillies);
     1174                    else
     1175                        rc = RTSemEventMultiWaitNoResume(pThread->EventTerminated, cMillies);
     1176                }
     1177#if defined(IN_RING3) && defined(RT_OS_WINDOWS)
    11701178                else
    1171                     rc = RTSemEventMultiWaitNoResume(pThread->EventTerminated, cMillies);
     1179                {
     1180                    rc = VINF_SUCCESS;
     1181                    if (pThread->rc == VERR_PROCESS_RUNNING)
     1182                        pThread->rc = VERR_THREAD_IS_DEAD;
     1183                }
     1184#endif
    11721185                if (RT_SUCCESS(rc))
    11731186                {
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