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/miscutils/microcom.c b/miscutils/microcom.c
index 59a9102..5928569 100644
--- a/miscutils/microcom.c
+++ b/miscutils/microcom.c
@@ -105,8 +105,7 @@
 	pfd[1].events = POLLIN;
 	while (1) {
 		int i;
-		while (-1 == poll(pfd, 2, -1) && EINTR == errno)
-			continue;
+		safe_poll(pfd, 2, -1);
 		for (i = 0; i < 2; ++i) {
 			if (pfd[i].revents & POLLIN) {
 				len = read(pfd[i].fd, bb_common_bufsiz1, COMMON_BUFSIZE);