Ensure heartbeat only started once and only for daemon job
This commit was SVN r24416.
Этот коммит содержится в:
родитель
0974a15d48
Коммит
a8cf19a7bc
@ -74,6 +74,7 @@ static opal_event_t *send_ev = NULL, *check_ev = NULL;
|
|||||||
static struct timeval send_time, check_time;
|
static struct timeval send_time, check_time;
|
||||||
static orte_job_t *daemons;
|
static orte_job_t *daemons;
|
||||||
static orte_thread_ctl_t ctl;
|
static orte_thread_ctl_t ctl;
|
||||||
|
static bool already_started;
|
||||||
|
|
||||||
static int init(void)
|
static int init(void)
|
||||||
{
|
{
|
||||||
@ -84,6 +85,7 @@ static int init(void)
|
|||||||
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
|
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
|
||||||
|
|
||||||
OBJ_CONSTRUCT(&ctl, orte_thread_ctl_t);
|
OBJ_CONSTRUCT(&ctl, orte_thread_ctl_t);
|
||||||
|
already_started = false;
|
||||||
|
|
||||||
/* get the daemon job object */
|
/* get the daemon job object */
|
||||||
if (NULL == (daemons = orte_get_job_data_object(ORTE_PROC_MY_NAME->jobid))) {
|
if (NULL == (daemons = orte_get_job_data_object(ORTE_PROC_MY_NAME->jobid))) {
|
||||||
@ -154,6 +156,14 @@ static void setup_time(char *input, struct timeval *time)
|
|||||||
static void start(orte_jobid_t jobid)
|
static void start(orte_jobid_t jobid)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/* if this isn't my jobid, then don't start or we can
|
||||||
|
* confuse things
|
||||||
|
*/
|
||||||
|
if (already_started || ORTE_PROC_MY_NAME->jobid != jobid) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
already_started = true;
|
||||||
|
|
||||||
/* only daemons send heartbeats */
|
/* only daemons send heartbeats */
|
||||||
if (ORTE_PROC_IS_DAEMON) {
|
if (ORTE_PROC_IS_DAEMON) {
|
||||||
/* convert the send rate */
|
/* convert the send rate */
|
||||||
@ -197,6 +207,8 @@ static void stop(orte_jobid_t jobid)
|
|||||||
free(check_ev);
|
free(check_ev);
|
||||||
check_ev = NULL;
|
check_ev = NULL;
|
||||||
}
|
}
|
||||||
|
already_started = false;
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user