session CHANGE do not use clock_gettime, no real need for it anyway
diff --git a/src/session_server.c b/src/session_server.c
index b1e6770..b91bea4 100644
--- a/src/session_server.c
+++ b/src/session_server.c
@@ -624,7 +624,6 @@
     NC_MSG_TYPE msgtype;
     struct nc_session *session;
     struct nc_server_rpc *rpc;
-    struct timespec old_ts;
 
     if (!ps || !ps->session_count) {
         ERRARG;
@@ -652,10 +651,6 @@
         }
     }
 
-    if (timeout > 0) {
-        clock_gettime(CLOCK_MONOTONIC_RAW, &old_ts);
-    }
-
     if (i == ps->session_count) {
 #ifdef NC_ENABLED_SSH
 retry_poll:
@@ -715,7 +710,7 @@
                         usleep(NC_TIMEOUT_STEP);
                         if (timeout > 0) {
                             /* ... and decrease timeout, if not -1 */
-                            nc_subtract_elapsed(&timeout, &old_ts);
+                            timeout -= NC_TIMEOUT_STEP * 1000;
                         }
                         goto retry_poll;
                     }
@@ -739,10 +734,6 @@
     /* this is the session with some data available for reading */
     session = ps->sessions[i];
 
-    if (timeout > 0) {
-        nc_subtract_elapsed(&timeout, &old_ts);
-    }
-
     /* reading an RPC and sending a reply must be atomic (no other RPC should be read) */
     ret = nc_timedlock(session->ti_lock, timeout, NULL);
     if (ret != 1) {