From b3b28d49f74865bfcb483d4572794e4a91d2189c Mon Sep 17 00:00:00 2001
From: Adhidarma Hadiwinoto <me@adhisimon.org>
Date: Mon, 9 Sep 2019 13:02:05 +0700
Subject: [PATCH] MODEM-INFO idle check include lastReadTs criteria

---
 lib/modem-info.js | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/modem-info.js b/lib/modem-info.js
index 309f84c..5e11643 100644
--- a/lib/modem-info.js
+++ b/lib/modem-info.js
@@ -23,7 +23,11 @@ const modemInfo = {
 
 if (!config.disable_idle_check) {
     setInterval(() => {
-        const deltaMs = new Date() - Math.max(modemInfo.lastWriteTs, modemInfo.startTime);
+        const deltaMs = new Date() - Math.max(
+            modemInfo.startTime,
+            Math.min(modemInfo.lastWriteTs, modemInfo.lastReadTs),
+        );
+
         if (deltaMs >= (config.max_last_data_age_ms || DEFAULT_MAX_LAST_DATA_AGE_MS)) {
             logger.warn(`Modem idle for ${deltaMs} ms. Modem stucked? Terminating!`);
             process.exit(1);
-- 
1.9.0