VirtualBox

Changeset 29914 in vbox for trunk/src


Ignore:
Timestamp:
May 31, 2010 2:53:33 PM (15 years ago)
Author:
vboxsync
Message:

ProgressImpl.cpp: Use RTTimeMillTS instead of RTTimeNow() - monotonic vs. wall time.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/ProgressImpl.cpp

    r29881 r29914  
    835835    if (!mCompleted)
    836836    {
    837         RTTIMESPEC time;
    838         RTTimeNow(&time); /** @todo r=bird: Use monotonic time (RTTimeMilliTS()) here because of daylight saving and things like that. */
    839 
    840837        int vrc = VINF_SUCCESS;
    841838        bool fForever = aTimeout < 0;
    842839        int64_t timeLeft = aTimeout;
    843         int64_t lastTime = RTTimeSpecGetMilli(&time);
     840        int64_t lastTime = RTTimeMilliTS();
    844841
    845842        while (!mCompleted && (fForever || timeLeft > 0))
     
    848845            alock.leave();
    849846            vrc = RTSemEventMultiWait(mCompletedSem,
    850                                       fForever ? RT_INDEFINITE_WAIT : (unsigned)timeLeft);
     847                                      fForever ? RT_INDEFINITE_WAIT : (RTMSINTERVAL)timeLeft);
    851848            alock.enter();
    852849            mWaitersCount--;
     
    861858            if (!fForever)
    862859            {
    863                 RTTimeNow (&time);
    864                 timeLeft -= RTTimeSpecGetMilli(&time) - lastTime;
    865                 lastTime = RTTimeSpecGetMilli(&time);
     860                int64_t now = RTTimeMilliTS();
     861                timeLeft -= now - lastTime;
     862                lastTime = now;
    866863            }
    867864        }
     
    901898         && aOperation >= m_ulCurrentOperation)
    902899    {
    903         RTTIMESPEC time;
    904         RTTimeNow (&time);
    905 
    906900        int vrc = VINF_SUCCESS;
    907901        bool fForever = aTimeout < 0;
    908902        int64_t timeLeft = aTimeout;
    909         int64_t lastTime = RTTimeSpecGetMilli (&time);
     903        int64_t lastTime = RTTimeMilliTS();
    910904
    911905        while (    !mCompleted && aOperation >= m_ulCurrentOperation
     
    928922            if (!fForever)
    929923            {
    930                 RTTimeNow(&time);
    931                 timeLeft -= RTTimeSpecGetMilli(&time) - lastTime;
    932                 lastTime = RTTimeSpecGetMilli(&time);
     924                int64_t now = RTTimeMilliTS();
     925                timeLeft -= now - lastTime;
     926                lastTime = now;
    933927            }
    934928        }
     
    15921586    if (!mCompleted)
    15931587    {
    1594         RTTIMESPEC time;
    1595         RTTimeNow(&time);
    1596 
    15971588        HRESULT rc = S_OK;
    15981589        bool forever = aTimeout < 0;
    15991590        int64_t timeLeft = aTimeout;
    1600         int64_t lastTime = RTTimeSpecGetMilli(&time);
     1591        int64_t lastTime = RTTimeMilliTS();
    16011592
    16021593        while (!mCompleted && (forever || timeLeft > 0))
     
    16131604            if (!forever)
    16141605            {
    1615                 RTTimeNow(&time);
    1616                 timeLeft -= RTTimeSpecGetMilli(&time) - lastTime;
    1617                 lastTime = RTTimeSpecGetMilli(&time);
     1606                int64_t now = RTTimeMilliTS();
     1607                timeLeft -= now - lastTime;
     1608                lastTime = now;
    16181609            }
    16191610        }
     
    16791670                          progress, operation));
    16801671
    1681         RTTIMESPEC time;
    1682         RTTimeNow (&time);
    1683 
    16841672        bool forever = aTimeout < 0;
    16851673        int64_t timeLeft = aTimeout;
    1686         int64_t lastTime = RTTimeSpecGetMilli (&time);
     1674        int64_t lastTime = RTTimeMilliTS();
    16871675
    16881676        while (!mCompleted && aOperation >= m_ulCurrentOperation &&
     
    17021690            if (!forever)
    17031691            {
    1704                 RTTimeNow(&time);
    1705                 timeLeft -= RTTimeSpecGetMilli(&time) - lastTime;
    1706                 lastTime = RTTimeSpecGetMilli(&time);
     1692                int64_t now = RTTimeMilliTS();
     1693                timeLeft -= now - lastTime;
     1694                lastTime = now;
    17071695            }
    17081696        }
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