aboutsummaryrefslogtreecommitdiff
path: root/runit
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-09-27 10:09:59 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-09-27 10:09:59 +0000
commit5d61e71c3a8ac3296afbfe9a014c62050c5a9234 (patch)
treee9ab2cd35d1f2d51b26a678551a0439b1719928b /runit
parentc9dc2ac578278e86be248cc21e53081f7054da83 (diff)
downloadbusybox-w32-5d61e71c3a8ac3296afbfe9a014c62050c5a9234.tar.gz
busybox-w32-5d61e71c3a8ac3296afbfe9a014c62050c5a9234.tar.bz2
busybox-w32-5d61e71c3a8ac3296afbfe9a014c62050c5a9234.zip
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
Diffstat (limited to 'runit')
-rw-r--r--runit/svlogd.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/runit/svlogd.c b/runit/svlogd.c
index 6c8747e96..b5eed15ab 100644
--- a/runit/svlogd.c
+++ b/runit/svlogd.c
@@ -665,7 +665,7 @@ static ssize_t ndelay_read(int fd, void *buf, size_t count)
665} 665}
666 666
667/* Used for reading stdin */ 667/* Used for reading stdin */
668static int buffer_pread(int fd, char *s, unsigned len) 668static int buffer_pread(/*int fd, */char *s, unsigned len)
669{ 669{
670 unsigned now; 670 unsigned now;
671 struct pollfd input; 671 struct pollfd input;
@@ -709,7 +709,7 @@ static int buffer_pread(int fd, char *s, unsigned len)
709 poll(&input, 1, i * 1000); 709 poll(&input, 1, i * 1000);
710 sigprocmask(SIG_BLOCK, blocked_sigset, NULL); 710 sigprocmask(SIG_BLOCK, blocked_sigset, NULL);
711 711
712 i = ndelay_read(fd, s, len); 712 i = ndelay_read(0, s, len);
713 if (i >= 0) 713 if (i >= 0)
714 break; 714 break;
715 if (errno == EINTR) 715 if (errno == EINTR)
@@ -909,7 +909,7 @@ int svlogd_main(int argc, char **argv)
909 if (!np && !exitasap) { 909 if (!np && !exitasap) {
910 i = linemax - stdin_cnt; /* avail. bytes at tail */ 910 i = linemax - stdin_cnt; /* avail. bytes at tail */
911 if (i >= 128) { 911 if (i >= 128) {
912 i = buffer_pread(0, lineptr + stdin_cnt, i); 912 i = buffer_pread(/*0, */lineptr + stdin_cnt, i);
913 if (i <= 0) /* EOF or error on stdin */ 913 if (i <= 0) /* EOF or error on stdin */
914 exitasap = 1; 914 exitasap = 1;
915 else { 915 else {
@@ -966,7 +966,7 @@ int svlogd_main(int argc, char **argv)
966 /* read/write repeatedly until we see it */ 966 /* read/write repeatedly until we see it */
967 while (ch != '\n') { 967 while (ch != '\n') {
968 /* lineptr is emptied now, safe to use as buffer */ 968 /* lineptr is emptied now, safe to use as buffer */
969 stdin_cnt = exitasap ? -1 : buffer_pread(0, lineptr, linemax); 969 stdin_cnt = exitasap ? -1 : buffer_pread(/*0, */lineptr, linemax);
970 if (stdin_cnt <= 0) { /* EOF or error on stdin */ 970 if (stdin_cnt <= 0) { /* EOF or error on stdin */
971 exitasap = 1; 971 exitasap = 1;
972 lineptr[0] = ch = '\n'; 972 lineptr[0] = ch = '\n';