VirtualBox

Changeset 18778 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Apr 6, 2009 3:33:28 PM (16 years ago)
Author:
vboxsync
Message:

Storage/DrvVD: don't pass VMSETRTERR_FLAGS_FATAL to pfnVMSetRuntimeErrorV() as it would cause a deadlock with EMT

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Storage/DrvVD.cpp

    r18766 r18778  
    160160    PVBOXDISK pThis = PDMINS_2_DATA(pDrvIns, PVBOXDISK);
    161161    if (pThis->fErrorUseRuntime)
    162         pDrvIns->pDrvHlp->pfnVMSetRuntimeErrorV(pDrvIns, VMSETRTERR_FLAGS_FATAL, "DrvVD", pszFormat, va);
     162        /* We must not pass VMSETRTERR_FLAGS_FATAL as it could lead to a
     163         * deadlock: We are probably executed in a thread context != EMT
     164         * and the EM thread would wait until every thread is suspended
     165         * but we would wait for the EM thread ... */
     166        pDrvIns->pDrvHlp->pfnVMSetRuntimeErrorV(pDrvIns, /* fFlags=*/ 0, "DrvVD", pszFormat, va);
    163167    else
    164168        pDrvIns->pDrvHlp->pfnVMSetErrorV(pDrvIns, rc, RT_SRC_POS_ARGS, pszFormat, va);
Note: See TracChangeset for help on using the changeset viewer.

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