]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
automerge commit
authorAutomerge script <automerge@asterisk.org>
Thu, 7 Sep 2006 17:03:13 +0000 (17:03 +0000)
committerAutomerge script <automerge@asterisk.org>
Thu, 7 Sep 2006 17:03:13 +0000 (17:03 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2-netsec@42282 65c4cc65-6c06-0410-ace0-fbb531ad65f3

cdr.c

diff --git a/cdr.c b/cdr.c
index 272ce0f6955366362b4a9913006967f4141471ab..64a9e5690ba6f21da8022bc92910b067c0d9f4b3 100644 (file)
--- a/cdr.c
+++ b/cdr.c
@@ -1044,13 +1044,14 @@ static void *do_cdr(void *data)
        int numevents = 0;
 
        for(;;) {
-               struct timeval now = ast_tvnow();
+               struct timeval now;
                schedms = ast_sched_wait(sched);
                /* this shouldn't happen, but provide a 1 second default just in case */
                if (schedms <= 0)
                        schedms = 1000;
-               timeout.tv_sec = now.tv_sec + (schedms / 1000);
-               timeout.tv_nsec = (now.tv_usec * 1000) + ((schedms % 1000) * 1000);
+               now = ast_tvadd(ast_tvnow(), ast_samp2tv(schedms, 1000));
+               timeout.tv_sec = now.tv_sec;
+               timeout.tv_nsec = now.tv_usec * 1000;
                /* prevent stuff from clobbering cdr_pending_cond, then wait on signals sent to it until the timeout expires */
                ast_mutex_lock(&cdr_pending_lock);
                ast_cond_timedwait(&cdr_pending_cond, &cdr_pending_lock, &timeout);