VirtualBox

Changeset 25732 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Jan 11, 2010 4:23:26 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
56476
Message:

PDMCritSect: Deployed lock ordering. (ring-3 only, only DEBUG_bird atm)

Location:
trunk/include/VBox
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/pdmcritsect.h

    r25368 r25732  
    5555} PDMCRITSECT;
    5656
    57 VMMR3DECL(int)      PDMR3CritSectInit(PVM pVM, PPDMCRITSECT pCritSect, const char *pszName);
     57VMMR3DECL(int)      PDMR3CritSectInit(PVM pVM, PPDMCRITSECT pCritSect, RT_SRC_POS_DECL, const char *pszNameFmt, ...);
    5858VMMDECL(int)        PDMCritSectEnter(PPDMCRITSECT pCritSect, int rcBusy);
    5959VMMDECL(int)        PDMCritSectEnterDebug(PPDMCRITSECT pCritSect, int rcBusy, RTHCUINTPTR uId, RT_SRC_POS_DECL);
  • trunk/include/VBox/pdmdev.h

    r24744 r25732  
    23602360     * @param   pDevIns             Device instance.
    23612361     * @param   pCritSect           Pointer to the critical section.
    2362      * @param   pszName             The name of the critical section (for
    2363      *                              statistics).
    2364      */
    2365     DECLR3CALLBACKMEMBER(int, pfnCritSectInit,(PPDMDEVINS pDevIns, PPDMCRITSECT pCritSect, const char *pszName));
     2362     * @param   RT_SRC_POS_DECL     Use RT_SRC_POS.
     2363     * @param   pszNameFmt          Format string for namging the critical section.
     2364     *                              For statistics and lock validation.
     2365     * @param   va                  Arguments for the format string.
     2366     */
     2367    DECLR3CALLBACKMEMBER(int, pfnCritSectInit,(PPDMDEVINS pDevIns, PPDMCRITSECT pCritSect, RT_SRC_POS_DECL,
     2368                                               const char *pszNameFmt, va_list va));
    23662369
    23672370    /**
     
    37023705
    37033706/**
    3704  * @copydoc PDMDEVHLPR3::pfnCritSectInit
    3705  */
    3706 DECLINLINE(int) PDMDevHlpCritSectInit(PPDMDEVINS pDevIns, PPDMCRITSECT pCritSect, const char *pszName)
    3707 {
    3708     return pDevIns->pDevHlpR3->pfnCritSectInit(pDevIns, pCritSect, pszName);
     3707 * Initializes a PDM critical section.
     3708 *
     3709 * The PDM critical sections are derived from the IPRT critical sections, but
     3710 * works in GC as well.
     3711 *
     3712 * @returns VBox status code.
     3713 * @param   pDevIns             Device instance.
     3714 * @param   pCritSect           Pointer to the critical section.
     3715 * @param   RT_SRC_POS_DECL     Use RT_SRC_POS.
     3716 * @param   pszNameFmt          Format string for namging the critical section.
     3717 *                              For statistics and lock validation.
     3718 * @param   ...                 Arguments for the format string.
     3719 */
     3720DECLINLINE(int) PDMDevHlpCritSectInit(PPDMDEVINS pDevIns, PPDMCRITSECT pCritSect, RT_SRC_POS_DECL, const char *pszNameFmt, ...)
     3721{
     3722    va_list va;
     3723    va_start(va, pszNameFmt);
     3724    int rc = pDevIns->pDevHlpR3->pfnCritSectInit(pDevIns, pCritSect, RT_SRC_POS_ARGS, pszNameFmt, va);
     3725    va_end(va);
     3726    return rc;
    37093727}
    37103728
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