diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2012-08-06 16:27:18 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-08-09 03:26:29 +0200 |
commit | 6a8537356be5766fcdc5cf8fcb5fabb81abd09e7 (patch) | |
tree | 67c5e357d96c7d51d873f89bf017959ba326b3ab /src/corelib/tools/qelapsedtimer_mac.cpp | |
parent | 44e638f06965e1022a0da7a48105c83a6d373547 (diff) |
Mark QElapsedTimer functions as Q_DECL_NOTHROW
All functions in QElapsedTimer are marked Q_DECL_NOTHROW. This code
is often introduced in many places to deal with timeouts and doesn't
need exception handlers. In particular, it's used in QMutex locking.
In addition, mark QDateTime::currentMSecsSinceEpoch as nothrow, as it
can't throw exceptions either and it is needed by the generic
QElapsedTimer.
Q{Date,Time}::current{Date,Time} operate on local time and run into at
least one cancellation point, which we must consider throwing. And
returning a QDateTime allocates memory.
Change-Id: Id776c5ec831fc06d7419a9ff5442d9b35cff1a22
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/corelib/tools/qelapsedtimer_mac.cpp')
-rw-r--r-- | src/corelib/tools/qelapsedtimer_mac.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/corelib/tools/qelapsedtimer_mac.cpp b/src/corelib/tools/qelapsedtimer_mac.cpp index 4150bc86ca..73a28c28d0 100644 --- a/src/corelib/tools/qelapsedtimer_mac.cpp +++ b/src/corelib/tools/qelapsedtimer_mac.cpp @@ -47,12 +47,12 @@ QT_BEGIN_NAMESPACE -QElapsedTimer::ClockType QElapsedTimer::clockType() +QElapsedTimer::ClockType QElapsedTimer::clockType() Q_DECL_NOTHROW { return MachAbsoluteTime; } -bool QElapsedTimer::isMonotonic() +bool QElapsedTimer::isMonotonic() Q_DECL_NOTHROW { return true; } @@ -71,7 +71,7 @@ static qint64 absoluteToMSecs(qint64 cpuTime) return absoluteToNSecs(cpuTime) / 1000000; } -timeval qt_gettime() +timeval qt_gettime() Q_DECL_NOTHROW { timeval tv; @@ -82,13 +82,13 @@ timeval qt_gettime() return tv; } -void QElapsedTimer::start() +void QElapsedTimer::start() Q_DECL_NOTHROW { t1 = mach_absolute_time(); t2 = 0; } -qint64 QElapsedTimer::restart() +qint64 QElapsedTimer::restart() Q_DECL_NOTHROW { qint64 old = t1; t1 = mach_absolute_time(); @@ -97,34 +97,34 @@ qint64 QElapsedTimer::restart() return absoluteToMSecs(t1 - old); } -qint64 QElapsedTimer::nsecsElapsed() const +qint64 QElapsedTimer::nsecsElapsed() const Q_DECL_NOTHROW { uint64_t cpu_time = mach_absolute_time(); return absoluteToNSecs(cpu_time - t1); } -qint64 QElapsedTimer::elapsed() const +qint64 QElapsedTimer::elapsed() const Q_DECL_NOTHROW { uint64_t cpu_time = mach_absolute_time(); return absoluteToMSecs(cpu_time - t1); } -qint64 QElapsedTimer::msecsSinceReference() const +qint64 QElapsedTimer::msecsSinceReference() const Q_DECL_NOTHROW { return absoluteToMSecs(t1); } -qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const +qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const Q_DECL_NOTHROW { return absoluteToMSecs(other.t1 - t1); } -qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const +qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const Q_DECL_NOTHROW { return msecsTo(other) / 1000; } -bool operator<(const QElapsedTimer &v1, const QElapsedTimer &v2) +bool operator<(const QElapsedTimer &v1, const QElapsedTimer &v2) Q_DECL_NOTHROW { return v1.t1 < v2.t1; } |