From d86234d505cd3deb82e5469b98c06a545ee3d001 Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Sat, 14 Sep 2013 16:50:02 -0500 Subject: Fix live-lock in progress code thread. Change-Id: Ibc7759bdd784987655fe643c5ecff9f1d32d7f1e Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/6165 Reviewed-by: Andrew J. Geissler Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III --- src/usr/initservice/istepdispatcher/istepdispatcher.C | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.C b/src/usr/initservice/istepdispatcher/istepdispatcher.C index 959c11ac0..eaac5b902 100644 --- a/src/usr/initservice/istepdispatcher/istepdispatcher.C +++ b/src/usr/initservice/istepdispatcher/istepdispatcher.C @@ -1140,14 +1140,20 @@ void IStepDispatcher::runProgressThread( void ) mutex_lock( &iv_mutex ); } - /* 15 sec msg constraint not planned for GA1 if( l_PrevTime.tv_sec == iv_lastProgressMsgTime.tv_sec && l_PrevTime.tv_nsec == iv_lastProgressMsgTime.tv_nsec) { +#if 0 + /* 15 sec msg constraint not planned for GA1 err = this->sendProgressCode(false); commit error in future - } */ +#else + // Normally this would be done in sendProgressCode but do it here + // to prevent thread from becoming a CPU hog. + clock_gettime(CLOCK_MONOTONIC, &iv_lastProgressMsgTime); +#endif + } } TRACDCOMP(g_trac_initsvc, EXIT_MRK"IStepDispatcher::runProgressThread"); -- cgit v1.2.1