VirtualBox

Changeset 58697 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Nov 16, 2015 2:42:34 PM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
104124
Message:

Solaris/r0drv,SUPDrv: Don't drop log messages on bad-preemption context as we miss errors.
Added a warning instead and during normal VBox operation we should eliminate messages with the warning prefix.

Location:
trunk/src/VBox
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/Support/solaris/SUPDrv-solaris.c

    r58340 r58697  
    12731273    char        szMsg[512];
    12741274
    1275     /* cmn_err() acquires adaptive mutexes. Not preemption safe, see @bugref{6657}. */
    1276     if (!RTThreadPreemptIsEnabled(NIL_RTTHREAD))
    1277         return 0;
    1278 
    12791275    va_start(args, pszFormat);
    12801276    RTStrPrintfV(szMsg, sizeof(szMsg) - 1, pszFormat, args);
     
    12821278
    12831279    szMsg[sizeof(szMsg) - 1] = '\0';
    1284     cmn_err(CE_CONT, "%s", szMsg);
     1280    /* cmn_err() acquires adaptive mutexes. Not preemption safe, see @bugref{6657}. */
     1281    if (RTThreadPreemptIsEnabled(NIL_RTTHREAD))
     1282        cmn_err(CE_CONT, "%s", szMsg);
     1283    else
     1284        cmn_err(CE_CONT, "[!BadPreemptCtx!] %s", szMsg);
    12851285    return 0;
    12861286}
  • trunk/src/VBox/Runtime/r0drv/solaris/RTLogWriteDebugger-r0drv-solaris.c

    r57358 r58697  
    4747        AssertBreakpoint();
    4848
    49     /* cmn_err() acquires adaptive mutexes. Not preemption safe, see @bugref{6657}. */
    50     if (!RTThreadPreemptIsEnabled(NIL_RTTHREAD))
    51         return;
    52 
    5349    if (    !g_frtSolSplSetsEIF
    5450#if defined(RT_ARCH_AMD64) || defined(RT_ARCH_X86)
     
    5955        )
    6056    {
    61         cmn_err(CE_CONT, pch);
     57        /* cmn_err() acquires adaptive mutexes. Not preemption safe, see @bugref{6657}. */
     58        if (RTThreadPreemptIsEnabled(NIL_RTTHREAD))
     59            cmn_err(CE_CONT, pch);
     60        else
     61            cmn_err(CE_CONT, "[!BadPreemptCtx!] %s", pch);
    6262    }
    6363
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