diff options
author | chclvl <chclvl@users.sourceforge.net> | 2021-10-15 14:20:22 +0200 |
---|---|---|
committer | chclvl <chclvl@users.sourceforge.net> | 2021-10-15 14:20:22 +0200 |
commit | c871790a8ffaf86dcc42889baf33422fb84c552c (patch) | |
tree | f0790a7cb04ee7469155aa3134097e311b309f14 | |
parent | f6593f35b9169af85534931e2e7136613db7609d (diff) | |
download | dbus-c++-#22_Using_gettimeofday_for_timeouts.tar.gz |
Replace 'gettimeofday' with 'clock_gettime(CLOCK_MONOTONIC_RAW)'#22_Using_gettimeofday_for_timeouts
-rw-r--r-- | .gitignore | 168 | ||||
-rw-r--r-- | src/eventloop.cpp | 12 |
2 files changed, 174 insertions, 6 deletions
@@ -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); |