// we use gettimeofday() now to determine the packet rcv time, since on some boxes...
mtk [Wed, 27 Oct 2010 14:49:35 +0000 (14:49 +0000)]
// this may reduce the precision, but we only care about +/- 1ms, for now

git-svn-id: https://svn.berlios.de/svnroot/repos/senf/trunk@1741 270642c3-0616-0410-b53a-bc976706d245

senf/Socket/Protocols/DatagramSocketProtocol.cc

index fe1ec71..738c692 100644 (file)
@@ -47,10 +47,11 @@ prefix_ senf::ClockService::clock_type senf::DatagramSocketProtocol::timestamp()
 prefix_ senf::ClockService::clock_type senf::DatagramSocketProtocol::timestamp_system()
     const
 {
+    // we use gettimeofday() here, since on some boxes the above ioctl() return bogus values.
+    // this may reduce the precision, but we only care about +/- 1ms, for now 
     struct timeval tv;
-    if (::ioctl(fd(), SIOCGSTAMP, &tv) < 0)
-        SENF_THROW_SYSTEM_EXCEPTION("");
-    return tv.tv_sec * 1000000000LL + tv.tv_usec * 1000;
+    ::gettimeofday( &tv, NULL);
+    return tv.tv_sec * 1000000000LL + tv.tv_usec * 1000LL;
 }