diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-09-28 14:29:17 +0400 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-09-28 14:29:17 +0400 |
commit | b9256054419582dc35917b1cb39c7e09f489dfad (patch) | |
tree | 2ce3a816b788b3af5fa54109b765ee22d5550c5e /runit | |
parent | c3122bca53255799f052fcc0e911b68237faa12d (diff) |
assorted static vars removal
function old new delta
tcpudpsvd_main 1829 1839 +10
update_status 567 569 +2
sigterm 1 - -1
.........
dhcprelay_signal_handler 8 - -8
nfs_strerror 60 49 -11
singlemount 4579 4564 -15
static.p 16 - -16
svstatus 20 - -20
dhcprelay_xid_list 32 - -32
runsv_main 1785 1746 -39
static.buf 74 28 -46
svd 56 - -56
dhcprelay_main 1141 1080 -61
------------------------------------------------------------------------------
(add/remove: 0/20 grow/shrink: 2/10 up/down: 12/-386) Total: -374 bytes
Diffstat (limited to 'runit')
-rw-r--r-- | runit/runsv.c | 31 | ||||
-rw-r--r-- | runit/sv.c | 22 |
2 files changed, 40 insertions, 13 deletions
diff --git a/runit/runsv.c b/runit/runsv.c index b35c26630..1ee3dda01 100644 --- a/runit/runsv.c +++ b/runit/runsv.c @@ -61,8 +61,6 @@ static void gettimeofday_ns(struct timespec *ts) /* Compare possibly overflowing unsigned counters */ #define LESS(a,b) ((int)((unsigned)(b) - (unsigned)(a)) > 0) -static int selfpipe[2]; - /* state */ #define S_DOWN 0 #define S_RUN 1 @@ -88,12 +86,27 @@ struct svdir { int fdcontrolwrite; }; -static struct svdir svd[2]; -static smallint sigterm; -static smallint haslog; -static smallint pidchanged = 1; -static int logpipe[2]; -static char *dir; +struct globals { + smallint haslog; + smallint sigterm; + smallint pidchanged; + int selfpipe[2]; + int logpipe[2]; + char *dir; + struct svdir svd[2]; +}; +#define G (*(struct globals*)&bb_common_bufsiz1) +#define haslog (G.haslog ) +#define sigterm (G.sigterm ) +#define pidchanged (G.pidchanged ) +#define selfpipe (G.selfpipe ) +#define logpipe (G.logpipe ) +#define dir (G.dir ) +#define svd (G.svd ) +#define INIT_G() \ + do { \ + pidchanged = 1; \ + } while (0) static void fatal2_cannot(const char *m1, const char *m2) { @@ -434,6 +447,8 @@ int runsv_main(int argc, char **argv) int r; char buf[256]; + INIT_G(); + if (!argv[1] || argv[2]) bb_show_usage(); dir = argv[1]; diff --git a/runit/sv.c b/runit/sv.c index 7283bbf7d..757391a54 100644 --- a/runit/sv.c +++ b/runit/sv.c @@ -158,12 +158,22 @@ Exit Codes #include "libbb.h" #include "runit_lib.h" -static const char *acts; -static char **service; -static unsigned rc; +struct globals { + const char *acts; + char **service; + unsigned rc; /* "Bernstein" time format: unix + 0x400000000000000aULL */ -static uint64_t tstart, tnow; -static svstatus_t svstatus; + uint64_t tstart, tnow; + svstatus_t svstatus; +}; +#define G (*(struct globals*)&bb_common_bufsiz1) +#define acts (G.acts ) +#define service (G.service ) +#define rc (G.rc ) +#define tstart (G.tstart ) +#define tnow (G.tnow ) +#define svstatus (G.svstatus ) +#define INIT_G() do { } while (0) static void fatal_cannot(const char *m1) ATTRIBUTE_NORETURN; @@ -418,6 +428,8 @@ int sv_main(int argc, char **argv) int (*cbk)(const char*); int curdir; + INIT_G(); + xfunc_error_retval = 100; x = getenv("SVDIR"); |