Merge "Mtce: fix hbsClient active monitoring over config reload"

This commit is contained in:
Zuul 2018-12-21 14:32:52 +00:00 committed by Gerrit Code Review
commit a4a5a86a08
3 changed files with 17 additions and 13 deletions

View File

@ -1,3 +1,3 @@
SRC_DIR="src" SRC_DIR="src"
TIS_PATCH_VER=143 TIS_PATCH_VER=144
BUILD_IS_SLOW=5 BUILD_IS_SLOW=5

View File

@ -566,8 +566,6 @@ int pmon_passive_handler ( process_config_type * ptr )
/* Start the monitor debounce timer. */ /* Start the monitor debounce timer. */
mtcTimer_reset ( ptr->pt_ptr ); mtcTimer_reset ( ptr->pt_ptr );
mtcTimer_start ( ptr->pt_ptr, pmon_timer_handler, ptr->startuptime );
passiveStageChange ( ptr, PMON_STAGE__MONITOR_WAIT ) ;
/* Don't wait for the debounce timer to take this process out of 'commanded restart' mode. /* Don't wait for the debounce timer to take this process out of 'commanded restart' mode.
* Do it now, otherwise tight patch loop stress testing might fail */ * Do it now, otherwise tight patch loop stress testing might fail */
@ -576,6 +574,12 @@ int pmon_passive_handler ( process_config_type * ptr )
ilog ("%s Restarted\n", ptr->process ) ilog ("%s Restarted\n", ptr->process )
ptr->restart = false ; ptr->restart = false ;
ptr->registered = false ; ptr->registered = false ;
passiveStageChange ( ptr, PMON_STAGE__MANAGE ) ;
}
else
{
mtcTimer_start ( ptr->pt_ptr, pmon_timer_handler, ptr->startuptime );
passiveStageChange ( ptr, PMON_STAGE__MONITOR_WAIT ) ;
} }
break ; break ;
} }
@ -614,7 +618,6 @@ int pmon_passive_handler ( process_config_type * ptr )
/* Start debounce monitor phase */ /* Start debounce monitor phase */
passiveStageChange ( ptr, PMON_STAGE__MONITOR ) ; passiveStageChange ( ptr, PMON_STAGE__MONITOR ) ;
// ilog ("%s Monitor Start ...\n", ptr->process);
process_running ( ptr ); process_running ( ptr );
ilog ("%s Monitor (%d)\n", ptr->process, ptr->pid ); ilog ("%s Monitor (%d)\n", ptr->process, ptr->pid );
} }

View File

@ -1014,6 +1014,7 @@ void _get_events ( void )
{ {
bool running = false ; bool running = false ;
/* ignore is ignore */
if ( process_config[i].ignore == true ) if ( process_config[i].ignore == true )
{ {
process_config[i].failed = false ; process_config[i].failed = false ;
@ -1021,12 +1022,12 @@ void _get_events ( void )
continue ; continue ;
} }
else if ( process_config[i].stage == PMON_STAGE__POLLING ) /* only look for events for process that are
{ * - in the managed state and
continue ; * - not monitored by 'status
} */
else if (( process_config[i].stage != PMON_STAGE__MANAGE ) ||
else if ( process_config[i].status_monitoring ) ( process_config[i].status_monitoring ))
{ {
continue ; continue ;
} }
@ -2016,7 +2017,8 @@ void pmon_service ( pmon_ctrl_type * ctrl_ptr )
/* Run the FSM for this failed process */ /* Run the FSM for this failed process */
pmon_passive_handler ( &process_config[i] ) ; pmon_passive_handler ( &process_config[i] ) ;
} }
else if ( process_config[i].active_monitoring ) else if (( process_config[i].active_monitoring ) &&
( process_config[i].stage == PMON_STAGE__MANAGE ))
{ {
// if ( process_config[i].active_failed == false ) // if ( process_config[i].active_failed == false )
if ( process_config[i].failed == false ) if ( process_config[i].failed == false )
@ -2032,8 +2034,7 @@ void pmon_service ( pmon_ctrl_type * ctrl_ptr )
/* Audit to ensure that running processes are /* Audit to ensure that running processes are
* registered with the kernel */ * registered with the kernel */
if (( process_config[i].stage != PMON_STAGE__POLLING ) && if (( process_config[i].stage == PMON_STAGE__MANAGE ) &&
( process_config[i].stage != PMON_STAGE__START_WAIT ) &&
( process_config[i].registered == false ) && ( process_config[i].registered == false ) &&
( _pmon_ctrl_ptr->event_mode ) && ( _pmon_ctrl_ptr->event_mode ) &&
( process_config[i].restart == false ) && ( process_config[i].restart == false ) &&