Kaynağa Gözat

Added clustTimeNow to get current time in nanoseconds.

(Logical change 1.46)


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@137 fd59a12c-fef9-0310-b244-a6a79926bd2f
Mark Haverkamp 21 yıl önce
ebeveyn
işleme
6da8305de8
2 değiştirilmiş dosya ile 23 ekleme ve 0 silme
  1. 20 0
      lib/util.c
  2. 3 0
      lib/util.h

+ 20 - 0
lib/util.c

@@ -42,6 +42,7 @@
 #include <sys/uio.h>
 #include <sys/socket.h>
 #include <sys/select.h>
+#include <sys/time.h>
 #include <sys/un.h>
 #include <net/if.h>
 #include <arpa/inet.h>
@@ -564,3 +565,22 @@ saQueueItemRemove (struct queue *queue)
 	queue->used--;
 	return (SA_OK);
 }
+
+/*
+ * Get the time of day and convert to nanoseconds
+ */
+SaTimeT clustTimeNow(void)
+{
+	struct timeval tv;
+	SaTimeT time_now;
+
+	if (gettimeofday(&tv, 0)) {
+		return 0ULL;
+	}
+
+	time_now = (SaTimeT)(tv.tv_sec) * 1000000000ULL;
+	time_now += (SaTimeT)(tv.tv_usec) * 1000ULL;
+
+	return time_now;
+}
+

+ 3 - 0
lib/util.h

@@ -167,4 +167,7 @@ saQueueItemRemove (struct queue *queue);
 
 #define offset_of(type,member) (int)(&(((type *)0)->member))
 
+SaTimeT
+clustTimeNow(void);
+
 #endif /* AIS_UTIL_H_DEFINED */