VirtualBox

Changeset 27933 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Apr 1, 2010 12:41:47 PM (15 years ago)
Author:
vboxsync
Message:

DrvNamedPipe.cpp: Don't assume we'll get a PowerOff call. Always wait for the thread as we created it with RTTHREADFLAGS_WAITABLE. Use volatile on fShutdown. Must shutdown the server socket or accept() might not abort.

File:
1 edited

Legend:

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

    r26175 r27933  
    406406 * Intended for the constructor.
    407407 *
    408  * @param   pDrvIns     The drvice instance pointer.
     408 * @param   pDrvIns             Pointer to the PDM driver instance.
    409409 */
    410410#define PDMDRV_CHECK_VERSIONS_RETURN(pDrvIns) \
     
    426426 * Intended for the destructor.
    427427 *
    428  * @param   pDrvIns     The drvice instance pointer.
     428 * @param   pDrvIns             Pointer to the PDM driver instance.
    429429 */
    430430#define PDMDRV_CHECK_VERSIONS_RETURN_VOID(pDrvIns) \
     
    437437    } while (0)
    438438
     439/**
     440 * Wrapper around CFGMR3ValidateConfig for the root config for use in the
     441 * constructor - returns on failure.
     442 *
     443 * This should be invoked after having initialized the instance data
     444 * sufficiently for the correct operation of the destructor.  The destructor is
     445 * always called!
     446 *
     447 * @param   pDrvIns             Pointer to the PDM driver instance.
     448 * @param   pszValidValues      Patterns describing the valid value names.  See
     449 *                              RTStrSimplePatternMultiMatch for details on the
     450 *                              pattern syntax.
     451 * @param   pszValidNodes       Patterns describing the valid node (key) names.
     452 *                              Pass empty string if no valid nodess.
     453 */
     454#define PDMDRV_VALIDATE_CONFIG_RETURN(pDrvIns, pszValidValues, pszValidNodes) \
     455    do \
     456    { \
     457        int rcValCfg = CFGMR3ValidateConfig((pDrvIns)->pCfg, "/", pszValidValues, pszValidNodes, \
     458                                            (pDrvIns)->pReg->szName, (pDrvIns)->iInstance); \
     459        if (RT_FAILURE(rcValCfg)) \
     460            return rcValCfg; \
     461    } while (0)
    439462
    440463
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