diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-10-05 22:11:06 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-10-05 22:11:06 +0000 |
commit | 339936be006c3695de5c93bc59707c3d853ae186 (patch) | |
tree | 94ed18c6a691f099db2d844b454568032bf3eeb2 /runit | |
parent | 23e3e25df601ce2cd000770d4833831ffe9cfb35 (diff) | |
download | busybox-w32-339936be006c3695de5c93bc59707c3d853ae186.tar.gz busybox-w32-339936be006c3695de5c93bc59707c3d853ae186.tar.bz2 busybox-w32-339936be006c3695de5c93bc59707c3d853ae186.zip |
chpst: fix whitespace damage
svlogd: fix bug (two different "line" variables); stop using data/bss
function old new delta
processorstop 419 432 +13
rotate 514 525 +11
buffer_pwrite 493 499 +6
sig_term_handler 68 70 +2
sig_hangup_handler 34 36 +2
sig_alarm_handler 34 36 +2
rmoldest 305 307 +2
processorstart 401 403 +2
logdir_close 188 190 +2
tmaxflag 1 - -1
rotateasap 1 - -1
repl 1 - -1
reopenasap 1 - -1
linecomplete 1 - -1
exitasap 1 - -1
wstat 4 - -4
verbose 9 5 -4
replace 4 - -4
nearest_rotate 4 - -4
linemax 4 - -4
linelen 4 - -4
line 4 - -4
fndir 4 - -4
fl_flag_0 4 - -4
fdwdir 4 - -4
dirn 4 - -4
dir 4 - -4
blocked_sigset 4 - -4
sig_child_handler 248 239 -9
logdirs_reopen 1263 1240 -23
buffer_pread 532 473 -59
svlogd_main 1466 1367 -99
------------------------------------------------------------------------------
(add/remove: 0/18 grow/shrink: 9/5 up/down: 42/-248) Total: -206 bytes
text data bss dec hex filename
770916 989 9496 781401 bec59 busybox_old
770768 980 9448 781196 beb8c busybox_unstripped
Diffstat (limited to 'runit')
-rw-r--r-- | runit/chpst.c | 2 | ||||
-rw-r--r-- | runit/svlogd.c | 106 |
2 files changed, 69 insertions, 39 deletions
diff --git a/runit/chpst.c b/runit/chpst.c index 0c26d836e..1bc8e18a3 100644 --- a/runit/chpst.c +++ b/runit/chpst.c | |||
@@ -54,7 +54,7 @@ struct globals { | |||
54 | long limitc; | 54 | long limitc; |
55 | long limitr; | 55 | long limitr; |
56 | long limitt; | 56 | long limitt; |
57 | int nicelvl; | 57 | int nicelvl; |
58 | }; | 58 | }; |
59 | #define G (*(struct globals*)&bb_common_bufsiz1) | 59 | #define G (*(struct globals*)&bb_common_bufsiz1) |
60 | #define set_user (G.set_user) | 60 | #define set_user (G.set_user) |
diff --git a/runit/svlogd.c b/runit/svlogd.c index cdf4e424b..bf46ef7f8 100644 --- a/runit/svlogd.c +++ b/runit/svlogd.c | |||
@@ -37,31 +37,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
37 | 37 | ||
38 | #define FMT_PTIME 30 | 38 | #define FMT_PTIME 30 |
39 | 39 | ||
40 | static unsigned verbose; | 40 | struct logdir { |
41 | static int linemax = 1000; | ||
42 | ////static int buflen = 1024; | ||
43 | static int linelen; | ||
44 | |||
45 | static char **fndir; | ||
46 | static int fdwdir; | ||
47 | static int wstat; | ||
48 | static unsigned nearest_rotate; | ||
49 | |||
50 | static char *line; | ||
51 | static smallint exitasap; | ||
52 | static smallint rotateasap; | ||
53 | static smallint reopenasap; | ||
54 | static smallint linecomplete = 1; | ||
55 | |||
56 | static smallint tmaxflag; | ||
57 | |||
58 | static char repl; | ||
59 | static const char *replace = ""; | ||
60 | |||
61 | static sigset_t *blocked_sigset; | ||
62 | static int fl_flag_0; | ||
63 | |||
64 | static struct logdir { | ||
65 | ////char *btmp; | 41 | ////char *btmp; |
66 | /* pattern list to match, in "aa\0bb\0\cc\0\0" form */ | 42 | /* pattern list to match, in "aa\0bb\0\cc\0\0" form */ |
67 | char *inst; | 43 | char *inst; |
@@ -81,8 +57,64 @@ static struct logdir { | |||
81 | char fnsave[FMT_PTIME]; | 57 | char fnsave[FMT_PTIME]; |
82 | char match; | 58 | char match; |
83 | char matcherr; | 59 | char matcherr; |
84 | } *dir; | 60 | }; |
85 | static unsigned dirn; | 61 | |
62 | |||
63 | struct globals { | ||
64 | struct logdir *dir; | ||
65 | unsigned verbose; | ||
66 | int linemax; | ||
67 | ////int buflen; | ||
68 | int linelen; | ||
69 | |||
70 | int fdwdir; | ||
71 | char **fndir; | ||
72 | int wstat; | ||
73 | unsigned nearest_rotate; | ||
74 | |||
75 | smallint exitasap; | ||
76 | smallint rotateasap; | ||
77 | smallint reopenasap; | ||
78 | smallint linecomplete; | ||
79 | smallint tmaxflag; | ||
80 | |||
81 | char repl; | ||
82 | const char *replace; | ||
83 | int fl_flag_0; | ||
84 | unsigned dirn; | ||
85 | |||
86 | sigset_t blocked_sigset; | ||
87 | }; | ||
88 | #define G (*(struct globals*)ptr_to_globals) | ||
89 | #define dir (G.dir ) | ||
90 | #define verbose (G.verbose ) | ||
91 | #define linemax (G.linemax ) | ||
92 | #define buflen (G.buflen ) | ||
93 | #define linelen (G.linelen ) | ||
94 | #define fndir (G.fndir ) | ||
95 | #define fdwdir (G.fdwdir ) | ||
96 | #define wstat (G.wstat ) | ||
97 | #define nearest_rotate (G.nearest_rotate) | ||
98 | #define exitasap (G.exitasap ) | ||
99 | #define rotateasap (G.rotateasap ) | ||
100 | #define reopenasap (G.reopenasap ) | ||
101 | #define linecomplete (G.linecomplete ) | ||
102 | #define tmaxflag (G.tmaxflag ) | ||
103 | #define repl (G.repl ) | ||
104 | #define replace (G.replace ) | ||
105 | #define blocked_sigset (G.blocked_sigset) | ||
106 | #define fl_flag_0 (G.fl_flag_0 ) | ||
107 | #define dirn (G.dirn ) | ||
108 | #define INIT_G() do { \ | ||
109 | PTR_TO_GLOBALS = xzalloc(sizeof(G)); \ | ||
110 | linemax = 1000; \ | ||
111 | /*buflen = 1024;*/ \ | ||
112 | linecomplete = 1; \ | ||
113 | replace = ""; \ | ||
114 | } while (0) | ||
115 | |||
116 | #define line bb_common_bufsiz1 | ||
117 | |||
86 | 118 | ||
87 | #define FATAL "fatal: " | 119 | #define FATAL "fatal: " |
88 | #define WARNING "warning: " | 120 | #define WARNING "warning: " |
@@ -700,14 +732,14 @@ static int buffer_pread(/*int fd, */char *s, unsigned len) | |||
700 | } | 732 | } |
701 | } | 733 | } |
702 | 734 | ||
703 | sigprocmask(SIG_UNBLOCK, blocked_sigset, NULL); | 735 | sigprocmask(SIG_UNBLOCK, &blocked_sigset, NULL); |
704 | i = nearest_rotate - now; | 736 | i = nearest_rotate - now; |
705 | if (i > 1000000) | 737 | if (i > 1000000) |
706 | i = 1000000; | 738 | i = 1000000; |
707 | if (i <= 0) | 739 | if (i <= 0) |
708 | i = 1; | 740 | i = 1; |
709 | poll(&input, 1, i * 1000); | 741 | poll(&input, 1, i * 1000); |
710 | sigprocmask(SIG_BLOCK, blocked_sigset, NULL); | 742 | sigprocmask(SIG_BLOCK, &blocked_sigset, NULL); |
711 | 743 | ||
712 | i = ndelay_read(0, s, len); | 744 | i = ndelay_read(0, s, len); |
713 | if (i >= 0) | 745 | if (i >= 0) |
@@ -814,7 +846,6 @@ static void logmatch(struct logdir *ld) | |||
814 | int svlogd_main(int argc, char **argv); | 846 | int svlogd_main(int argc, char **argv); |
815 | int svlogd_main(int argc, char **argv) | 847 | int svlogd_main(int argc, char **argv) |
816 | { | 848 | { |
817 | sigset_t ss; | ||
818 | char *r,*l,*b; | 849 | char *r,*l,*b; |
819 | ssize_t stdin_cnt = 0; | 850 | ssize_t stdin_cnt = 0; |
820 | int i; | 851 | int i; |
@@ -822,7 +853,7 @@ int svlogd_main(int argc, char **argv) | |||
822 | unsigned timestamp = 0; | 853 | unsigned timestamp = 0; |
823 | void* (*memRchr)(const void *, int, size_t) = memchr; | 854 | void* (*memRchr)(const void *, int, size_t) = memchr; |
824 | 855 | ||
825 | #define line bb_common_bufsiz1 | 856 | INIT_G(); |
826 | 857 | ||
827 | opt_complementary = "tt:vv"; | 858 | opt_complementary = "tt:vv"; |
828 | opt = getopt32(argv, "r:R:l:b:tv", | 859 | opt = getopt32(argv, "r:R:l:b:tv", |
@@ -866,13 +897,12 @@ int svlogd_main(int argc, char **argv) | |||
866 | * with the same stdin */ | 897 | * with the same stdin */ |
867 | fl_flag_0 = fcntl(0, F_GETFL); | 898 | fl_flag_0 = fcntl(0, F_GETFL); |
868 | 899 | ||
869 | blocked_sigset = &ss; | 900 | sigemptyset(&blocked_sigset); |
870 | sigemptyset(&ss); | 901 | sigaddset(&blocked_sigset, SIGTERM); |
871 | sigaddset(&ss, SIGTERM); | 902 | sigaddset(&blocked_sigset, SIGCHLD); |
872 | sigaddset(&ss, SIGCHLD); | 903 | sigaddset(&blocked_sigset, SIGALRM); |
873 | sigaddset(&ss, SIGALRM); | 904 | sigaddset(&blocked_sigset, SIGHUP); |
874 | sigaddset(&ss, SIGHUP); | 905 | sigprocmask(SIG_BLOCK, &blocked_sigset, NULL); |
875 | sigprocmask(SIG_BLOCK, &ss, NULL); | ||
876 | sig_catch(SIGTERM, sig_term_handler); | 906 | sig_catch(SIGTERM, sig_term_handler); |
877 | sig_catch(SIGCHLD, sig_child_handler); | 907 | sig_catch(SIGCHLD, sig_child_handler); |
878 | sig_catch(SIGALRM, sig_alarm_handler); | 908 | sig_catch(SIGALRM, sig_alarm_handler); |