diff options
| author | Peter Pettersson <boretrk@hotmail.com> | 2021-07-15 21:00:02 +0200 |
|---|---|---|
| committer | Peter Pettersson <boretrk@hotmail.com> | 2021-07-15 21:00:02 +0200 |
| commit | e4e173e8744dbdf9bed4b814f1af6a8080c4c603 (patch) | |
| tree | ea41de624aae1e2289813c442bd7cc6508174ebf /src/transports/smart_protocol.c | |
| parent | f15a6792d382f7a9bf6d5c638417f2b436a144a9 (diff) | |
| download | libgit2-e4e173e8744dbdf9bed4b814f1af6a8080c4c603.tar.gz | |
Allow compilation on systems without CLOCK_MONOTONIC
Makes usage of CLOCK_MONOTONIC conditional and makes functions that uses
git__timer handle clock resynchronization.
Call gettimeofday with tzp set to NULL as required by
https://pubs.opengroup.org/onlinepubs/9699919799/functions/gettimeofday.html
Diffstat (limited to 'src/transports/smart_protocol.c')
| -rw-r--r-- | src/transports/smart_protocol.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/transports/smart_protocol.c b/src/transports/smart_protocol.c index 9482915d8..91de163e9 100644 --- a/src/transports/smart_protocol.c +++ b/src/transports/smart_protocol.c @@ -975,9 +975,10 @@ static int stream_thunk(void *buf, size_t size, void *data) if (payload->cb) { double current_time = git__timer(); + double elapsed = current_time - payload->last_progress_report_time; payload->last_bytes += size; - if ((current_time - payload->last_progress_report_time) >= MIN_PROGRESS_UPDATE_INTERVAL) { + if (elapsed < 0 || elapsed >= MIN_PROGRESS_UPDATE_INTERVAL) { payload->last_progress_report_time = current_time; error = payload->cb(payload->pb->nr_written, payload->pb->nr_objects, payload->last_bytes, payload->cb_payload); } |
