diff --git a/datatop/src/Android.mk b/datatop/src/Android.mk
index f4b4b43..51d062a 100644
--- a/datatop/src/Android.mk
+++ b/datatop/src/Android.mk
@@ -21,6 +21,7 @@
 LOCAL_CFLAGS := -Wall -Wextra -Werror -pedantic
 LOCAL_CFLAGS += -DVERSION="\"1.0.4"\"
 LOCAL_CFLAGS += -DHAVE_STRL_FUNCTIONS
+LOCAL_CFLAGS += -D _BSD_SOURCE
 
 LOCAL_C_INCLUDES := $(LOCAL_PATH)
 
diff --git a/datatop/src/Makefile.am b/datatop/src/Makefile.am
index 554b40c..5dd0469 100644
--- a/datatop/src/Makefile.am
+++ b/datatop/src/Makefile.am
@@ -2,7 +2,7 @@
 
 CFLAGS := -std=c99                        # Target c99 for portability
 CFLAGS += -Wall -Wextra -Werror -pedantic # Strict code quality enforcement
-CFLAGS += -g                              # Enable debugging
+CFLAGS += -g -D _BSD_SOURCE               # Enable debugging and BSD time functions
 
 bin_PROGRAMS = datatop
 datatop_SOURCES := datatop.c
diff --git a/datatop/src/datatop.c b/datatop/src/datatop.c
index 984de05..82022a3 100644
--- a/datatop/src/datatop.c
+++ b/datatop/src/datatop.c
@@ -45,6 +45,7 @@
 #include <unistd.h>
 #include <string.h>
 #include <errno.h>
+#include <time.h>
 #include "datatop_interface.h"
 #include "datatop_linked_list.h"
 #include "datatop_opt.h"
@@ -94,6 +95,7 @@
 	int inp, quit;
 	struct dtop_linked_list *curr_ptr = dpg_list;
 	struct dtop_data_point_gatherer *dpset;
+	struct timeval ftime, itime, polltime;
 
 	gettimeofday(&tv, NULL);
 	curtime = tv.tv_sec;
@@ -113,6 +115,7 @@
 		return FILE_ERROR;
 
 	dtop_print_interactive_opts();
+	gettimeofday(&itime, NULL);
 	/* periodically poll the datapoints and print in csv format */
 	while (curtime < endtime
 		|| usr_cl_opts.poll_time == POLL_NOT_SPECIFIED) {
@@ -120,7 +123,12 @@
 		FD_SET(0, &rfds);
 		timeout.tv_sec = usr_cl_opts.poll_per;
 		timeout.tv_usec = 0;
+		//ftime is right before timeout calculations for most acurate calculations
+		gettimeofday(&ftime, NULL);
+		timersub(&ftime, &itime, &polltime);
+		timersub(&timeout,&polltime, &timeout);
 		inp = select(1, &rfds, NULL, NULL, &timeout);
+		gettimeofday(&itime, NULL);
 		if (inp) {
 			char s[4];
 			scanf("%s", s);
diff --git a/datatop/src/datatop_gen_poll.c b/datatop/src/datatop_gen_poll.c
index 457cc35..c3eb09d 100644
--- a/datatop/src/datatop_gen_poll.c
+++ b/datatop/src/datatop_gen_poll.c
@@ -69,6 +69,10 @@
 	read = dt_read_file(dpg->file, &data, DTOP_GEN_SIZE);
 	line_len = dt_read_line(line, DTOP_GEN_LINE, data, DTOP_GEN_SIZE, 0);
 
+	if (read == 0) {
+		return 0;
+	}
+
 	if (line_len < 1) {
 		dt_free(&data);
 		return 0;
diff --git a/datatop/src/datatop_stat_poll.c b/datatop/src/datatop_stat_poll.c
index 3eadaeb..88320b5 100644
--- a/datatop/src/datatop_stat_poll.c
+++ b/datatop/src/datatop_stat_poll.c
@@ -219,7 +219,7 @@
  */
 int dtop_stat_search(struct dtop_stat_vars *storage)
 {
-	int i, k, n, sum;
+	int i, n, sum;
 	char *data;
 	int *line_len = malloc(sizeof(int) * storage->line_count);
 	int read;
@@ -297,7 +297,6 @@
 			count++;
 		}
 	}
-	k = 0;
 
 	/* Calls dpg constructor, dpg will point to the dp struct */
 	construct_stat_file_dpg(data_points, storage, dp_count);
