VirtualBox

Changeset 39459 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Nov 29, 2011 2:12:58 PM (13 years ago)
Author:
vboxsync
Message:

VBoxSVC: logging and --shutdown-delay.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-server/xpcom/server.cpp

    r38636 r39459  
    226226////////////////////////////////////////////////////////////////////////////////
    227227
    228 enum
    229 {
    230     /* Delay before shutting down the VirtualBox server after the last
    231      * VirtualBox instance is released, in ms */
    232     VBoxSVC_ShutdownDelay = 5000
    233 };
    234 
    235228static bool gAutoShutdown = false;
     229/** Delay before shutting down the VirtualBox server after the last
     230 * VirtualBox instance is released, in ms */
     231static uint32_t gShutdownDelayMs = 5000;
    236232
    237233static nsIEventQueue  *gEventQ          = nsnull;
     
    344340            {
    345341                LogFlowFunc(("Last VirtualBox instance was released.\n"));
    346                 LogFlowFunc(("Scheduling server shutdown in %d ms...\n",
    347                              VBoxSVC_ShutdownDelay));
     342                LogFlowFunc(("Scheduling server shutdown in %u ms...\n",
     343                             gShutdownDelayMs));
    348344
    349345                /* make sure the previous timer (if any) is stopped;
     
    351347                RTTimerLRStop(sTimer);
    352348
    353                 int vrc = RTTimerLRStart(sTimer, uint64_t(VBoxSVC_ShutdownDelay) * 1000000);
     349                int vrc = RTTimerLRStart(sTimer, gShutdownDelayMs * RT_NS_1MS_64);
    354350                AssertRC(vrc);
    355351                timerStarted = SUCCEEDED(vrc);
     
    405401        void *handler()
    406402        {
    407             LogFlowFunc(("\n"));
     403            LogFlowFuncEnter();
    408404
    409405            Assert(RTCritSectIsInitialized(&sLock));
     
    432428                    gKeepRunning = PR_FALSE;
    433429                }
     430                else
     431                    LogFlowFunc(("No automatic shutdown.\n"));
    434432            }
    435433            else
     
    443441            RTCritSectLeave(&sLock);
    444442
     443            LogFlowFuncLeave();
    445444            return NULL;
    446445        }
     
    798797        { "--auto-shutdown",    'A', RTGETOPT_REQ_NOTHING },
    799798        { "--daemonize",        'd', RTGETOPT_REQ_NOTHING },
    800         { "--pidfile",          'p', RTGETOPT_REQ_STRING  },
     799        { "--shutdown-delay",   'D', RTGETOPT_REQ_UINT32 },
     800        { "--pidfile",          'p', RTGETOPT_REQ_STRING },
    801801        { "--logfile",          'F', RTGETOPT_REQ_STRING },
    802802        { "--logrotate",        'R', RTGETOPT_REQ_UINT32 },
     
    822822        {
    823823            case 'a':
    824             {
    825824                /* --automate mode means we are started by XPCOM on
    826825                 * demand. Daemonize ourselves and activate
     
    829828                fDaemonize = true;
    830829                break;
    831             }
    832 
    833             /* --auto-shutdown mode means we're already daemonized. */
     830
    834831            case 'A':
    835             {
     832                /* --auto-shutdown mode means we're already daemonized. */
    836833                gAutoShutdown = true;
    837834                break;
    838             }
    839835
    840836            case 'd':
    841             {
    842837                fDaemonize = true;
    843838                break;
    844             }
     839
     840            case 'D':
     841                gShutdownDelayMs = ValueUnion.u32;
     842                break;
    845843
    846844            case 'p':
    847             {
    848845                g_pszPidFile = ValueUnion.psz;
    849846                break;
    850             }
    851847
    852848            case 'F':
     
    867863
    868864            case 'h':
    869             {
    870865                RTPrintf("no help\n");
    871866                return 1;
    872             }
    873867
    874868            case 'V':
    875             {
    876869                RTPrintf("%sr%s\n", RTBldCfgVersion(), RTBldCfgRevisionStr());
    877870                return 0;
    878             }
    879871
    880872            default:
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