diff options
Diffstat (limited to '')
-rw-r--r-- | miscutils/crond.c | 12 | ||||
-rw-r--r-- | miscutils/fbsplash.c | 2 | ||||
-rw-r--r-- | miscutils/less.c | 2 | ||||
-rw-r--r-- | miscutils/man.c | 2 |
4 files changed, 13 insertions, 5 deletions
diff --git a/miscutils/crond.c b/miscutils/crond.c index b3762d327..6a384fdfb 100644 --- a/miscutils/crond.c +++ b/miscutils/crond.c | |||
@@ -177,7 +177,7 @@ static void crondlog(unsigned level, const char *msg, va_list va) | |||
177 | { | 177 | { |
178 | if (level >= G.log_level) { | 178 | if (level >= G.log_level) { |
179 | /* | 179 | /* |
180 | * We are called only for info meesages. | 180 | * We are called only for info messages. |
181 | * Warnings/errors use plain bb_[p]error_msg's, which | 181 | * Warnings/errors use plain bb_[p]error_msg's, which |
182 | * need not touch syslog_level | 182 | * need not touch syslog_level |
183 | * (they are ok with LOG_ERR default). | 183 | * (they are ok with LOG_ERR default). |
@@ -989,7 +989,7 @@ static int check_completions(void) | |||
989 | if (line->cl_pid <= 0) | 989 | if (line->cl_pid <= 0) |
990 | continue; | 990 | continue; |
991 | 991 | ||
992 | r = waitpid(line->cl_pid, NULL, WNOHANG); | 992 | r = safe_waitpid(line->cl_pid, NULL, WNOHANG); |
993 | if (r < 0 || r == line->cl_pid) { | 993 | if (r < 0 || r == line->cl_pid) { |
994 | process_finished_job(file->cf_username, line); | 994 | process_finished_job(file->cf_username, line); |
995 | if (line->cl_pid == 0) { | 995 | if (line->cl_pid == 0) { |
@@ -1001,6 +1001,14 @@ static int check_completions(void) | |||
1001 | /* else: r == 0: "process is still running" */ | 1001 | /* else: r == 0: "process is still running" */ |
1002 | file->cf_has_running = 1; | 1002 | file->cf_has_running = 1; |
1003 | } | 1003 | } |
1004 | |||
1005 | /* Reap any other children we don't actively track. | ||
1006 | * Reportedly, some people run crond as init process! | ||
1007 | * Thus, we need to reap orphans, like init does. | ||
1008 | */ | ||
1009 | while (wait_any_nohang(NULL) > 0) | ||
1010 | continue; | ||
1011 | |||
1004 | //FIXME: if !file->cf_has_running && file->deleted: delete it! | 1012 | //FIXME: if !file->cf_has_running && file->deleted: delete it! |
1005 | //otherwise deleted entries will stay forever, right? | 1013 | //otherwise deleted entries will stay forever, right? |
1006 | num_still_running += file->cf_has_running; | 1014 | num_still_running += file->cf_has_running; |
diff --git a/miscutils/fbsplash.c b/miscutils/fbsplash.c index 2934d8eb7..912a501a3 100644 --- a/miscutils/fbsplash.c +++ b/miscutils/fbsplash.c | |||
@@ -382,7 +382,7 @@ static void fb_drawimage(void) | |||
382 | if (LONE_DASH(G.image_filename)) { | 382 | if (LONE_DASH(G.image_filename)) { |
383 | theme_file = stdin; | 383 | theme_file = stdin; |
384 | } else { | 384 | } else { |
385 | int fd = open_zipped(G.image_filename, /*fail_if_not_compressed:*/ 0); | 385 | int fd = open_zipped(G.image_filename, /*die_if_not_compressed:*/ 0); |
386 | if (fd < 0) | 386 | if (fd < 0) |
387 | bb_simple_perror_msg_and_die(G.image_filename); | 387 | bb_simple_perror_msg_and_die(G.image_filename); |
388 | theme_file = xfdopen_for_read(fd); | 388 | theme_file = xfdopen_for_read(fd); |
diff --git a/miscutils/less.c b/miscutils/less.c index 8a0525cb7..2204b1cec 100644 --- a/miscutils/less.c +++ b/miscutils/less.c | |||
@@ -1139,7 +1139,7 @@ static int64_t getch_nowait(void) | |||
1139 | 1139 | ||
1140 | /* We have kbd_fd in O_NONBLOCK mode, read inside safe_read_key() | 1140 | /* We have kbd_fd in O_NONBLOCK mode, read inside safe_read_key() |
1141 | * would not block even if there is no input available */ | 1141 | * would not block even if there is no input available */ |
1142 | key64 = safe_read_key(kbd_fd, kbd_input, /*timeout off:*/ -2); | 1142 | key64 = safe_read_key(kbd_fd, kbd_input, /*do not poll:*/ -2); |
1143 | if ((int)key64 == -1) { | 1143 | if ((int)key64 == -1) { |
1144 | if (errno == EAGAIN) { | 1144 | if (errno == EAGAIN) { |
1145 | /* No keyboard input available. Since poll() did return, | 1145 | /* No keyboard input available. Since poll() did return, |
diff --git a/miscutils/man.c b/miscutils/man.c index deaf9e5ab..6fa1fbfdc 100644 --- a/miscutils/man.c +++ b/miscutils/man.c | |||
@@ -143,7 +143,7 @@ static int run_pipe(char *man_filename, int man, int level) | |||
143 | 143 | ||
144 | ordinary_manpage: | 144 | ordinary_manpage: |
145 | close(STDIN_FILENO); | 145 | close(STDIN_FILENO); |
146 | open_zipped(man_filename, /*fail_if_not_compressed:*/ 0); /* guaranteed to use fd 0 (STDIN_FILENO) */ | 146 | open_zipped(man_filename, /*die_if_not_compressed:*/ 0); /* guaranteed to use fd 0 (STDIN_FILENO) */ |
147 | if (man) { | 147 | if (man) { |
148 | int w = get_terminal_width(-1); | 148 | int w = get_terminal_width(-1); |
149 | if (w > 10) | 149 | if (w > 10) |