X-Git-Url: https://git.evergreen-ils.org/?p=OpenSRF.git;a=blobdiff_plain;f=src%2Flibopensrf%2Fosrf_app_session.c;h=df83e3e770044b456e9e508bfe37f3fa06525cc9;hp=28242e75ec7566aa9946fee212d6b1e6e8853c1f;hb=deee3d88a38c53d3750f4cca44fc1920421c1907;hpb=79acb2f5c3a99320e337791df255714ace3dc3dc diff --git a/src/libopensrf/osrf_app_session.c b/src/libopensrf/osrf_app_session.c index 28242e7..df83e3e 100644 --- a/src/libopensrf/osrf_app_session.c +++ b/src/libopensrf/osrf_app_session.c @@ -385,7 +385,11 @@ static osrfMessage* _osrf_app_request_recv( osrfAppRequest* req, int timeout ) { req->reset_timeout = 0; osrfLogDebug( OSRF_LOG_MARK, "Received a timeout reset"); } else { - remaining -= (int) (time(NULL) - start); + // Subtract the amount of time taken during this loop + // iteration, not the combined time of all iterations. + time_t tmp = time(NULL); + remaining -= (int) (tmp - start); + start = tmp; } }