libbb: introduce and use safe_waitpid (loops in EINTR)
*: use more approproate (shorter) versions of wait()

function                                             old     new   delta
safe_waitpid                                           -      48     +48
wait_any_nohang                                        -      17     +17
send_tree                                            365     369      +4
processorstop                                        432     435      +3
text_yank                                            110     108      -2
make_human_readable_str                              202     200      -2
crond_main                                          1368    1366      -2
handle_sigchld                                        49      43      -6
reapchild                                            166     159      -7
custom                                               260     250     -10
checkscript                                          191     177     -14
wait_nohang                                           17       -     -17
wait_pid                                              43       -     -43
------------------------------------------------------------------------------
(add/remove: 2/2 grow/shrink: 2/7 up/down: 72/-103)           Total: -31 bytes

diff --git a/runit/svlogd.c b/runit/svlogd.c
index 2dc8cb9..1d679c9 100644
--- a/runit/svlogd.c
+++ b/runit/svlogd.c
@@ -265,7 +265,7 @@
 
 	if (ld->ppid) {
 		sig_unblock(SIGHUP);
-		while (wait_pid(&wstat, ld->ppid) == -1)
+		while (safe_waitpid(ld->ppid, &wstat, 0) == -1)
 			pause2cannot("wait for processor", ld->name);
 		sig_block(SIGHUP);
 		ld->ppid = 0;
@@ -794,7 +794,7 @@
 
 	if (verbose)
 		bb_error_msg(INFO"sig%s received", "child");
-	while ((pid = wait_nohang(&wstat)) > 0) {
+	while ((pid = wait_any_nohang(&wstat)) > 0) {
 		for (l = 0; l < dirn; ++l) {
 			if (dir[l].ppid == pid) {
 				dir[l].ppid = 0;