aboutsummaryrefslogtreecommitdiff
path: root/runit
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-03-17 09:33:45 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-03-17 09:33:45 +0000
commitd0a071a5281f8ba4b291f0c3beb74bee1f8df6a3 (patch)
tree37e443b155eb66fed37e889828fa60023c84010f /runit
parentb44c790e41e281965955a83408f35ea53ecdb3d2 (diff)
downloadbusybox-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.c41
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
45static struct service *sv; 45struct globals {
46static char *svdir; 46 struct service *sv;
47static int svnum; 47 char *svdir;
48static char *rplog; 48 char *rplog;
49static int rploglen; 49 int svnum;
50static struct fd_pair logpipe; 50 int rploglen;
51static struct pollfd pfd[1]; 51 struct fd_pair logpipe;
52static unsigned stamplog; 52 struct pollfd pfd[1];
53static smallint check = 1; 53 unsigned stamplog;
54static smallint exitsoon; 54 smallint check; /* = 1; */
55static 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
57static void fatal2_cannot(const char *m1, const char *m2) 74static 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();