From fc85172efd4a801555a879516e18f337e8f8ecdf Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 11 May 2007 00:30:23 +0000 Subject: [PATCH] update git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5141 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/switch_core.c | 2 +- src/switch_scheduler.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/switch_core.c b/src/switch_core.c index ab09373da4..022b101efd 100644 --- a/src/switch_core.c +++ b/src/switch_core.c @@ -76,7 +76,7 @@ static void heartbeat_callback(switch_scheduler_task_t *task) send_heartbeat(); /* reschedule this task */ - task->runtime += 20; + task->runtime = time(NULL) + 20; } diff --git a/src/switch_scheduler.c b/src/switch_scheduler.c index 5daa47c062..a763fc7924 100644 --- a/src/switch_scheduler.c +++ b/src/switch_scheduler.c @@ -77,6 +77,11 @@ static int task_thread_loop(int done) } else { int64_t now = time(NULL); if (now >= tp->task.runtime && !tp->in_thread) { + int32_t diff = now - tp->task.runtime; + if (diff > 1) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Task was executed late by %d seconds %u %s (%s)\n", + diff, tp->task.task_id, tp->desc, switch_str_nil(tp->task.group)); + } tp->executed = now; if (switch_test_flag(tp, SSHF_OWN_THREAD)) { switch_thread_t *thread;