1
1

A little cleaner on the message about repeated ctrl-c, and re-enable the event so we can abort if we see multiple ctrl-c's that don't meet the time requirement

This commit was SVN r26945.
Этот коммит содержится в:
Ralph Castain 2012-08-03 01:26:18 +00:00
родитель 89f3754559
Коммит dc22ea5cde

Просмотреть файл

@ -764,6 +764,8 @@ static void clean_abort(int fd, short flags, void *arg)
}
fprintf(stderr, "%s: abort is already in progress...hit ctrl-c again to forcibly terminate\n\n", orte_basename);
forcibly_die = true;
/* reset the event */
opal_event_add(&term_handler, NULL);
return;
}
@ -790,6 +792,9 @@ static void clean_abort(int fd, short flags, void *arg)
Instead, we have to exit this handler and setup to call
job_completed() after this. */
ORTE_TERMINATE(ORTE_ERROR_DEFAULT_EXIT_CODE);
/* reset the event */
opal_event_add(&term_handler, NULL);
}
static struct timeval current, last={0,0};
@ -802,7 +807,7 @@ static bool first = true;
static void abort_signal_callback(int fd)
{
uint8_t foo = 1;
char *msg = "Abort is already in progress...hit ctrl-c again within 5 seconds to forcibly terminate\n\n";
char *msg = "Abort is in progress...hit ctrl-c again within 5 seconds to forcibly terminate\n\n";
/* if this is the first time thru, just get
* the current time
@ -820,12 +825,12 @@ static void abort_signal_callback(int fd)
if ((current.tv_sec - last.tv_sec) < 5) {
exit(1);
}
write(1, (void*)msg, strlen(msg));
}
/* save the time */
last.tv_sec = current.tv_sec;
/* tell the event lib to attempt to abnormally terminate */
write(term_pipe[1], &foo, 1);
write(1, (void*)msg, strlen(msg));
}
/**