summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchclvl <chclvl@users.sourceforge.net>2021-10-15 14:20:22 +0200
committerchclvl <chclvl@users.sourceforge.net>2021-10-15 14:20:22 +0200
commitc871790a8ffaf86dcc42889baf33422fb84c552c (patch)
treef0790a7cb04ee7469155aa3134097e311b309f14
parentf6593f35b9169af85534931e2e7136613db7609d (diff)
downloaddbus-c++-#22_Using_gettimeofday_for_timeouts.tar.gz
Replace 'gettimeofday' with 'clock_gettime(CLOCK_MONOTONIC_RAW)'#22_Using_gettimeofday_for_timeouts
-rw-r--r--.gitignore168
-rw-r--r--src/eventloop.cpp12
2 files changed, 174 insertions, 6 deletions
diff --git a/.gitignore b/.gitignore
index 34337cf..bcc9cea 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,3 +21,171 @@ m4/
missing
src/Makefile.in
tools/Makefile.in
+/Makefile
+/config.h
+/config.log
+/config.status
+/dbus-c++-1-uninstalled.pc
+/dbus-c++-1.pc
+/dbus-c++-ecore-1-uninstalled.pc
+/dbus-c++-ecore-1.pc
+/dbus-c++-glib-1-uninstalled.pc
+/dbus-c++-glib-1.pc
+/libdbus-c++.spec
+/libtool
+/stamp-h1
+/data/Makefile
+/doc/Doxyfile
+/doc/Makefile
+/examples/Makefile
+/examples/echo/.deps/echo-server.Po
+/examples/echo/.deps/echo_client_mt-echo-client.Po
+/examples/echo/.libs/echo-client-mt
+/examples/echo/.libs/echo-server
+/examples/echo/Makefile
+/examples/echo/echo-client-glue.h
+/examples/echo/echo-client-mt
+/examples/echo/echo-server
+/examples/echo/echo-server-glue.h
+/examples/echo/echo-server.o
+/examples/echo/echo_client_mt-echo-client.o
+/examples/echo_ecore/.deps/echo-server.Po
+/examples/echo_ecore/.deps/echo_client_mt-echo-client.Po
+/examples/echo_ecore/Makefile
+/examples/echo_ecore/echo-client-glue.h
+/examples/echo_ecore/echo-server-glue.h
+/examples/ecore/.deps/dbus_ecore.Po
+/examples/ecore/Makefile
+/examples/ecore/dbus_ecore-glue.h
+/examples/glib/.deps/dbus-browser.Po
+/examples/glib/.deps/xml.Po
+/examples/glib/Makefile
+/examples/glib/dbus-glue.h
+/examples/hal/.deps/hal-listen.Po
+/examples/hal/.libs/hal-listen
+/examples/hal/Makefile
+/examples/hal/hal-listen
+/examples/hal/hal-listen.o
+/examples/properties/.deps/propsgs-client.Po
+/examples/properties/.deps/propsgs-server.Po
+/examples/properties/.libs/propsgs-client
+/examples/properties/.libs/propsgs-server
+/examples/properties/Makefile
+/examples/properties/propsgs-client
+/examples/properties/propsgs-client.o
+/examples/properties/propsgs-glue-adaptor.h
+/examples/properties/propsgs-glue-proxy.h
+/examples/properties/propsgs-server
+/examples/properties/propsgs-server.o
+/src/.deps/libdbus_c___1_la-connection.Plo
+/src/.deps/libdbus_c___1_la-debug.Plo
+/src/.deps/libdbus_c___1_la-dispatcher.Plo
+/src/.deps/libdbus_c___1_la-error.Plo
+/src/.deps/libdbus_c___1_la-eventloop-integration.Plo
+/src/.deps/libdbus_c___1_la-eventloop.Plo
+/src/.deps/libdbus_c___1_la-interface.Plo
+/src/.deps/libdbus_c___1_la-introspection.Plo
+/src/.deps/libdbus_c___1_la-message.Plo
+/src/.deps/libdbus_c___1_la-object.Plo
+/src/.deps/libdbus_c___1_la-pendingcall.Plo
+/src/.deps/libdbus_c___1_la-pipe.Plo
+/src/.deps/libdbus_c___1_la-property.Plo
+/src/.deps/libdbus_c___1_la-server.Plo
+/src/.deps/libdbus_c___1_la-types.Plo
+/src/.libs/libdbus-c++-1.a
+/src/.libs/libdbus-c++-1.la
+/src/.libs/libdbus-c++-1.lai
+/src/.libs/libdbus-c++-1.so
+/src/.libs/libdbus-c++-1.so.0
+/src/.libs/libdbus-c++-1.so.0.0.0
+/src/.libs/libdbus_c___1_la-connection.o
+/src/.libs/libdbus_c___1_la-debug.o
+/src/.libs/libdbus_c___1_la-dispatcher.o
+/src/.libs/libdbus_c___1_la-error.o
+/src/.libs/libdbus_c___1_la-eventloop-integration.o
+/src/.libs/libdbus_c___1_la-eventloop.o
+/src/.libs/libdbus_c___1_la-interface.o
+/src/.libs/libdbus_c___1_la-introspection.o
+/src/.libs/libdbus_c___1_la-message.o
+/src/.libs/libdbus_c___1_la-object.o
+/src/.libs/libdbus_c___1_la-pendingcall.o
+/src/.libs/libdbus_c___1_la-pipe.o
+/src/.libs/libdbus_c___1_la-property.o
+/src/.libs/libdbus_c___1_la-server.o
+/src/.libs/libdbus_c___1_la-types.o
+/src/Makefile
+/src/integration/Makefile
+/src/integration/ecore/.deps/libdbus_c___ecore_1_la-ecore-integration.Plo
+/src/integration/ecore/Makefile
+/src/integration/glib/.deps/libdbus_c___glib_1_la-glib-integration.Plo
+/src/integration/glib/Makefile
+/src/libdbus-c++-1.la
+/src/libdbus_c___1_la-connection.lo
+/src/libdbus_c___1_la-connection.o
+/src/libdbus_c___1_la-debug.lo
+/src/libdbus_c___1_la-debug.o
+/src/libdbus_c___1_la-dispatcher.lo
+/src/libdbus_c___1_la-dispatcher.o
+/src/libdbus_c___1_la-error.lo
+/src/libdbus_c___1_la-error.o
+/src/libdbus_c___1_la-eventloop-integration.lo
+/src/libdbus_c___1_la-eventloop-integration.o
+/src/libdbus_c___1_la-eventloop.lo
+/src/libdbus_c___1_la-eventloop.o
+/src/libdbus_c___1_la-interface.lo
+/src/libdbus_c___1_la-interface.o
+/src/libdbus_c___1_la-introspection.lo
+/src/libdbus_c___1_la-introspection.o
+/src/libdbus_c___1_la-message.lo
+/src/libdbus_c___1_la-message.o
+/src/libdbus_c___1_la-object.lo
+/src/libdbus_c___1_la-object.o
+/src/libdbus_c___1_la-pendingcall.lo
+/src/libdbus_c___1_la-pendingcall.o
+/src/libdbus_c___1_la-pipe.lo
+/src/libdbus_c___1_la-pipe.o
+/src/libdbus_c___1_la-property.lo
+/src/libdbus_c___1_la-property.o
+/src/libdbus_c___1_la-server.lo
+/src/libdbus_c___1_la-server.o
+/src/libdbus_c___1_la-types.lo
+/src/libdbus_c___1_la-types.o
+/test/Makefile
+/test/functional/Makefile
+/test/functional/Test1/.deps/TestApp-TestApp.Po
+/test/functional/Test1/.deps/TestApp-TestAppMain.Po
+/test/functional/Test1/.libs/TestApp
+/test/functional/Test1/.libs/lt-TestApp
+/test/functional/Test1/Makefile
+/test/functional/Test1/TestApp
+/test/functional/Test1/TestApp-TestApp.o
+/test/functional/Test1/TestApp-TestAppMain.o
+/test/functional/Test1/TestAppIntroPrivate.h
+/test/functional/Test1/TestAppIntroProviderPrivate.h
+/test/generator/.deps/dbuscxx_test_generator_client-dbuscxx_test_generator-client.Po
+/test/generator/.deps/dbuscxx_test_generator_server-dbuscxx_test_generator-server.Po
+/test/generator/.libs/dbuscxx_test_generator_client
+/test/generator/.libs/dbuscxx_test_generator_server
+/test/generator/Makefile
+/test/generator/dbuscxx_test_generator-client-glue.h
+/test/generator/dbuscxx_test_generator-server-glue.h
+/test/generator/dbuscxx_test_generator_client
+/test/generator/dbuscxx_test_generator_client-dbuscxx_test_generator-client.o
+/test/generator/dbuscxx_test_generator_server
+/test/generator/dbuscxx_test_generator_server-dbuscxx_test_generator-server.o
+/tools/.deps/generate_adaptor.Po
+/tools/.deps/generate_proxy.Po
+/tools/.deps/generator_utils.Po
+/tools/.deps/introspect.Po
+/tools/.deps/xml.Po
+/tools/.deps/xml2cpp.Po
+/tools/.libs/dbusxx-introspect
+/tools/Makefile
+/tools/dbusxx-introspect
+/tools/dbusxx-xml2cpp
+/tools/generate_adaptor.o
+/tools/generate_proxy.o
+/tools/generator_utils.o
+/tools/introspect.o
+/tools/xml.o
+/tools/xml2cpp.o
diff --git a/src/eventloop.cpp b/src/eventloop.cpp
index f622812..3fcee95 100644
--- a/src/eventloop.cpp
+++ b/src/eventloop.cpp
@@ -36,16 +36,16 @@
using namespace DBus;
using namespace std;
-static double millis(timeval tv)
+static double millis(struct timespec ts)
{
- return (tv.tv_sec * 1000.0 + tv.tv_usec / 1000.0);
+ return (ts.tv_sec * 1000.0 + ts.tv_nsec / 1000000.0);
}
DefaultTimeout::DefaultTimeout(int interval, bool repeat, DefaultMainLoop *ed)
: _enabled(true), _interval(interval), _repeat(repeat), _expiration(0), _data(0), _disp(ed)
{
- timeval now;
- gettimeofday(&now, NULL);
+ struct timespec now;
+ clock_gettime (CLOCK_MONOTONIC_RAW, &now);
_expiration = millis(now) + interval;
@@ -205,8 +205,8 @@ void DefaultMainLoop::dispatch()
poll(fds, nfd, wait_min);
- timeval now;
- gettimeofday(&now, NULL);
+ struct timespec now;
+ clock_gettime (CLOCK_MONOTONIC_RAW, &now);
double now_millis = millis(now);