YARN-8515. container-executor can crash with SIGPIPE after nodemanager restart. Contributed by Jim Brennan
(cherry picked from commit 17118f446c
)
This commit is contained in:
parent
883df537d6
commit
1ae35834a2
|
@ -30,6 +30,7 @@
|
|||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <signal.h>
|
||||
|
||||
static void display_usage(FILE *stream) {
|
||||
fprintf(stream,
|
||||
|
@ -106,6 +107,11 @@ static void open_log_files() {
|
|||
if (ERRORFILE == NULL) {
|
||||
ERRORFILE = stderr;
|
||||
}
|
||||
|
||||
// There may be a process reading from stdout/stderr, and if it
|
||||
// exits, we will crash on a SIGPIPE when we try to write to them.
|
||||
// By ignoring SIGPIPE, we can handle the EPIPE instead of crashing.
|
||||
signal(SIGPIPE, SIG_IGN);
|
||||
}
|
||||
|
||||
/* Flushes and closes log files */
|
||||
|
|
Loading…
Reference in New Issue