From d5335f9e40f6e9533f7812d153b9727bcc04aa4e Mon Sep 17 00:00:00 2001 From: Ravishankar N Date: Sat, 9 Nov 2013 11:56:34 +0000 Subject: libglusterfs: fix bug in timespec adjustment The argument to the timespec_adjust_delta() function introudced in commit 6836118b21 needs to be passed by reference rather than by value for the function to do it's job. BUG: 1028663 Change-Id: I62a3636906e67ed35b7786e9553f6819b48f3626 Signed-off-by: Ravishankar N Reviewed-on: http://review.gluster.org/6243 Tested-by: Gluster Build System Reviewed-by: Anand Avati --- libglusterfs/src/timer.c | 2 +- libglusterfs/src/timespec.c | 8 ++++---- libglusterfs/src/timespec.h | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) (limited to 'libglusterfs') diff --git a/libglusterfs/src/timer.c b/libglusterfs/src/timer.c index 0ad6ea59f..a059cc212 100644 --- a/libglusterfs/src/timer.c +++ b/libglusterfs/src/timer.c @@ -48,7 +48,7 @@ gf_timer_call_after (glusterfs_ctx_t *ctx, return NULL; } timespec_now (&event->at); - timespec_adjust_delta (event->at, delta); + timespec_adjust_delta (&event->at, delta); at = TS (event->at); event->callbk = callbk; event->data = data; diff --git a/libglusterfs/src/timespec.c b/libglusterfs/src/timespec.c index 0df74e61c..a0c281a1e 100644 --- a/libglusterfs/src/timespec.c +++ b/libglusterfs/src/timespec.c @@ -60,9 +60,9 @@ void timespec_now (struct timespec *ts) ts->tv_sec, ts->tv_nsec); } -void timespec_adjust_delta (struct timespec ts, struct timespec delta) +void timespec_adjust_delta (struct timespec *ts, struct timespec delta) { - ts.tv_nsec = ((ts.tv_nsec + delta.tv_nsec) % 1000000000); - ts.tv_sec += ((ts.tv_nsec + delta.tv_nsec) / 1000000000); - ts.tv_sec += delta.tv_sec; + ts->tv_nsec = ((ts->tv_nsec + delta.tv_nsec) % 1000000000); + ts->tv_sec += ((ts->tv_nsec + delta.tv_nsec) / 1000000000); + ts->tv_sec += delta.tv_sec; } diff --git a/libglusterfs/src/timespec.h b/libglusterfs/src/timespec.h index c584c82c0..490255df9 100644 --- a/libglusterfs/src/timespec.h +++ b/libglusterfs/src/timespec.h @@ -19,6 +19,6 @@ void tv2ts (struct timeval tv, struct timespec *ts); void timespec_now (struct timespec *ts); -void timespec_adjust_delta (struct timespec ts, struct timespec delta); +void timespec_adjust_delta (struct timespec *ts, struct timespec delta); #endif /* __INCLUDE_TIMESPEC_H__ */ -- cgit