introduce safe_poll (fixes a problem in top)

function                                             old     new   delta
safe_poll                                              -      77     +77
svlogd_main                                         1470    1466      -4
zcip_main                                           1530    1524      -6
forkexec                                            1345    1338      -7
decode_format_string                                 795     788      -7
collect_blk                                          474     467      -7
buffer_pread                                         540     532      -8
tftp                                                1182    1172     -10
microcom_main                                        763     749     -14
arpping                                              441     424     -17
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/9 up/down: 77/-80)             Total: -3 bytes
   text    data     bss     dec     hex filename
 770162    1034   10404  781600   bed20 busybox_old
 770158    1034   10404  781596   bed1c busybox_unstripped

diff --git a/networking/zcip.c b/networking/zcip.c
index 2f0b5a7..63846eb 100644
--- a/networking/zcip.c
+++ b/networking/zcip.c
@@ -300,7 +300,12 @@
 
 		VDBG("...wait %d %s nprobes=%u, nclaims=%u\n",
 				timeout_ms, intf, nprobes, nclaims);
-		switch (poll(fds, 1, timeout_ms)) {
+
+		switch (safe_poll(fds, 1, timeout_ms)) {
+
+		default:
+			/*bb_perror_msg("poll"); - done in safe_poll */
+			return EXIT_FAILURE;
 
 		// timeout
 		case 0:
@@ -388,6 +393,7 @@
 				break;
 			} // switch (state)
 			break; // case 0 (timeout)
+
 		// packets arriving
 		case 1:
 			// We need to adjust the timeout in case we didn't receive
@@ -519,13 +525,9 @@
 				nclaims = 0;
 				break;
 			} // switch state
-
 			break; // case 1 (packets arriving)
-		default:
-			why = "poll";
-			goto bad;
 		} // switch poll
-	}
+	} // while (1)
  bad:
 	bb_perror_msg("%s, %s", intf, why);
 	return EXIT_FAILURE;