diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-09-27 10:09:59 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-09-27 10:09:59 +0000 |
commit | 5d61e71c3a8ac3296afbfe9a014c62050c5a9234 (patch) | |
tree | e9ab2cd35d1f2d51b26a678551a0439b1719928b /runit | |
parent | c9dc2ac578278e86be248cc21e53081f7054da83 (diff) | |
download | busybox-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.c | 8 |
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 */ |
668 | static int buffer_pread(int fd, char *s, unsigned len) | 668 | static 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'; |