diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-03-17 09:33:45 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-03-17 09:33:45 +0000 |
commit | d0a071a5281f8ba4b291f0c3beb74bee1f8df6a3 (patch) | |
tree | 37e443b155eb66fed37e889828fa60023c84010f /runit | |
parent | b44c790e41e281965955a83408f35ea53ecdb3d2 (diff) | |
download | busybox-w32-d0a071a5281f8ba4b291f0c3beb74bee1f8df6a3.tar.gz busybox-w32-d0a071a5281f8ba4b291f0c3beb74bee1f8df6a3.tar.bz2 busybox-w32-d0a071a5281f8ba4b291f0c3beb74bee1f8df6a3.zip |
brctl: eliminate stray data object
brctl: use constant fd to reduce parameter passing
runsvdir: do not use data/bss
od: reuse bb_argv_dash
last: do not go into endless loop on read error
mount: make it not fail scripts/find_bad_common_bufsiz check
dc: add INIT_G() (no-op for dc, but we want uniform usage of "G trick")
function old new delta
runsvdir_main 1646 1672 +26
set_pgrp 1 - -1
exitsoon 1 - -1
check 679 678 -1
svnum 4 - -4
svdir 4 - -4
sv 4 - -4
stamplog 4 - -4
rploglen 4 - -4
rplog 4 - -4
mount_main 995 988 -7
static.default_file_list 8 - -8
pfd 8 - -8
logpipe 8 - -8
static.info 20 - -20
brctl_main 767 739 -28
------------------------------------------------------------------------------
(add/remove: 0/12 grow/shrink: 1/3 up/down: 26/-106) Total: -80 bytes
text data bss dec hex filename
793327 662 7412 801401 c3a79 busybox_old
793329 641 7372 801342 c3a3e busybox_unstripped
Diffstat (limited to 'runit')
-rw-r--r-- | runit/runsvdir.c | 41 |
1 files changed, 30 insertions, 11 deletions
diff --git a/runit/runsvdir.c b/runit/runsvdir.c index bca5c901c..32e4764d1 100644 --- a/runit/runsvdir.c +++ b/runit/runsvdir.c | |||
@@ -42,17 +42,34 @@ struct service { | |||
42 | smallint isgone; | 42 | smallint isgone; |
43 | }; | 43 | }; |
44 | 44 | ||
45 | static struct service *sv; | 45 | struct globals { |
46 | static char *svdir; | 46 | struct service *sv; |
47 | static int svnum; | 47 | char *svdir; |
48 | static char *rplog; | 48 | char *rplog; |
49 | static int rploglen; | 49 | int svnum; |
50 | static struct fd_pair logpipe; | 50 | int rploglen; |
51 | static struct pollfd pfd[1]; | 51 | struct fd_pair logpipe; |
52 | static unsigned stamplog; | 52 | struct pollfd pfd[1]; |
53 | static smallint check = 1; | 53 | unsigned stamplog; |
54 | static smallint exitsoon; | 54 | smallint check; /* = 1; */ |
55 | static smallint set_pgrp; | 55 | smallint exitsoon; |
56 | smallint set_pgrp; | ||
57 | }; | ||
58 | #define G (*(struct globals*)&bb_common_bufsiz1) | ||
59 | #define sv (G.sv ) | ||
60 | #define svdir (G.svdir ) | ||
61 | #define rplog (G.rplog ) | ||
62 | #define svnum (G.svnum ) | ||
63 | #define rploglen (G.rploglen ) | ||
64 | #define logpipe (G.logpipe ) | ||
65 | #define pfd (G.pfd ) | ||
66 | #define stamplog (G.stamplog ) | ||
67 | #define check (G.check ) | ||
68 | #define exitsoon (G.exitsoon ) | ||
69 | #define set_pgrp (G.set_pgrp ) | ||
70 | #define INIT_G() do { \ | ||
71 | check = 1; \ | ||
72 | } while (0) | ||
56 | 73 | ||
57 | static void fatal2_cannot(const char *m1, const char *m2) | 74 | static void fatal2_cannot(const char *m1, const char *m2) |
58 | { | 75 | { |
@@ -222,6 +239,8 @@ int runsvdir_main(int argc ATTRIBUTE_UNUSED, char **argv) | |||
222 | char ch; | 239 | char ch; |
223 | int i; | 240 | int i; |
224 | 241 | ||
242 | INIT_G(); | ||
243 | |||
225 | argv++; | 244 | argv++; |
226 | if (!*argv) | 245 | if (!*argv) |
227 | bb_show_usage(); | 246 | bb_show_usage(); |