VirtualBox

Changeset 22503 in vbox for trunk/src


Ignore:
Timestamp:
Aug 27, 2009 10:13:42 AM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
51523
Message:

VBoxService: Added command execution thread (only used for sysprep spawning used by the VDI guys yet).

Location:
trunk/src/VBox
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/common/VBoxService/Makefile.kmk

    r21941 r22503  
    3939ifdef VBOX_WITH_GUEST_PROPS
    4040 VBoxService_DEFS        += VBOX_WITH_GUEST_PROPS VBOXSERVICE_VMINFO
     41 if1of ($(KBUILD_TARGET), win)
     42  VBoxService_DEFS       += VBOX_WITH_HGCM VBOXSERVICE_VMEXEC
     43 endif
    4144endif
    4245VBoxService_SOURCES       = \
     
    4649ifdef VBOX_WITH_GUEST_PROPS
    4750 VBoxService_SOURCES.win  = \
    48         VBoxServiceVMInfo-win.cpp
     51        VBoxServiceVMInfo-win.cpp \
     52        VBoxServiceExec.cpp
    4953 VBoxService_SOURCES     += \
    5054        VBoxServiceVMInfo.cpp
  • trunk/src/VBox/Additions/common/VBoxService/VBoxService.cpp

    r21218 r22503  
    8585    { &g_VMInfo, NIL_RTTHREAD, false, false, false, true },
    8686#endif
     87#ifdef VBOXSERVICE_VMEXEC
     88    { &g_VMExec, NIL_RTTHREAD, false, false, false, true },
     89#endif
    8790};
    8891
     
    321324        VBoxServiceVerbose(1, "Starting '%s' in the main thread\n", g_aServices[iMain].pDesc->pszName);
    322325        rc = g_aServices[iMain].pDesc->pfnWorker(&g_fShutdown);
    323         VBoxServiceError("Service '%s' stopped unexpected; rc=%Rrc\n", g_aServices[iMain].pDesc->pszName, rc);
     326        if (rc != VINF_SUCCESS) /* Only complain if service returned an error. Otherwise the service is a one-timer. */
     327        {
     328            VBoxServiceError("Service '%s' stopped unexpected; rc=%Rrc\n", g_aServices[iMain].pDesc->pszName, rc);
     329        }
    324330    }
    325331
  • trunk/src/VBox/Additions/common/VBoxService/VBoxServiceInternal.h

    r21167 r22503  
    136136extern VBOXSERVICE g_Control;
    137137extern VBOXSERVICE g_VMInfo;
     138extern VBOXSERVICE g_VMExec;
    138139
    139140#ifdef RT_OS_WINDOWS
  • trunk/src/VBox/Main/ConsoleImpl2.cpp

    r22480 r22503  
    18881888            parms[1].u.pointer.addr = (void *)VBoxSVNRevString();
    18891889            parms[1].u.pointer.size = strlen(VBoxSVNRevString()) + 1;
     1890            parms[2].type = VBOX_HGCM_SVC_PARM_PTR;
     1891            parms[2].u.pointer.addr = (void *)"TRANSIENT, RDONLYGUEST";
     1892            parms[2].u.pointer.size = sizeof("TRANSIENT, RDONLYGUEST");
     1893            pConsole->mVMMDev->hgcmHostCall ("VBoxGuestPropSvc", guestProp::SET_PROP_HOST, 3, &parms[0]);
     1894
     1895            /* Initialize the remote execution properties for ready-on access by the guest */
     1896            Utf8Str utf8ValEmpty = "";
     1897            parms[0].type = VBOX_HGCM_SVC_PARM_PTR;
     1898            parms[0].u.pointer.addr = (void *)"/VirtualBox/HostGuest/SysprepArgs";
     1899            parms[0].u.pointer.size = sizeof("/VirtualBox/HostGuest/SysprepArgs");
     1900            parms[1].type = VBOX_HGCM_SVC_PARM_PTR;
     1901            parms[1].u.pointer.addr = (void*)utf8ValEmpty.c_str();
     1902            parms[1].u.pointer.size = (uint32_t)utf8ValEmpty.length() + 1;
    18901903            parms[2].type = VBOX_HGCM_SVC_PARM_PTR;
    18911904            parms[2].u.pointer.addr = (void *)"TRANSIENT, RDONLYGUEST";
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