Mercurial > hg > freeDiameter
comparison libfdcore/p_psm.c @ 1058:5d37c0db6cbf
Fix management of the tv_nsec to avoid invalid value (Thanks Guangming for the report: http://lists.freediameter.net/pipermail/dev/2013-May/000212.html)
author | Sebastien Decugis <sdecugis@freediameter.net> |
---|---|
date | Fri, 10 May 2013 09:33:27 +0800 |
parents | 000e1904074c |
children | 757df62cadb6 |
comparison
equal
deleted
inserted
replaced
1057:1c6c8fa622ff | 1058:5d37c0db6cbf |
---|---|
333 delay = 0; | 333 delay = 0; |
334 | 334 |
335 /* Add a random value between 0 and 4sec */ | 335 /* Add a random value between 0 and 4sec */ |
336 peer->p_psm_timer.tv_sec += random() % 4; | 336 peer->p_psm_timer.tv_sec += random() % 4; |
337 peer->p_psm_timer.tv_nsec+= random() % 1000000000L; | 337 peer->p_psm_timer.tv_nsec+= random() % 1000000000L; |
338 if (peer->p_psm_timer.tv_nsec > 1000000000L) { | 338 if (peer->p_psm_timer.tv_nsec >= 1000000000L) { |
339 peer->p_psm_timer.tv_nsec -= 1000000000L; | 339 peer->p_psm_timer.tv_nsec -= 1000000000L; |
340 peer->p_psm_timer.tv_sec ++; | 340 peer->p_psm_timer.tv_sec ++; |
341 } | 341 } |
342 } | 342 } |
343 | 343 |