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
This commit is contained in:
parent
23e3e25df6
commit
339936be00
106
runit/svlogd.c
106
runit/svlogd.c
@ -37,31 +37,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#define FMT_PTIME 30
|
#define FMT_PTIME 30
|
||||||
|
|
||||||
static unsigned verbose;
|
struct logdir {
|
||||||
static int linemax = 1000;
|
|
||||||
////static int buflen = 1024;
|
|
||||||
static int linelen;
|
|
||||||
|
|
||||||
static char **fndir;
|
|
||||||
static int fdwdir;
|
|
||||||
static int wstat;
|
|
||||||
static unsigned nearest_rotate;
|
|
||||||
|
|
||||||
static char *line;
|
|
||||||
static smallint exitasap;
|
|
||||||
static smallint rotateasap;
|
|
||||||
static smallint reopenasap;
|
|
||||||
static smallint linecomplete = 1;
|
|
||||||
|
|
||||||
static smallint tmaxflag;
|
|
||||||
|
|
||||||
static char repl;
|
|
||||||
static const char *replace = "";
|
|
||||||
|
|
||||||
static sigset_t *blocked_sigset;
|
|
||||||
static int fl_flag_0;
|
|
||||||
|
|
||||||
static struct logdir {
|
|
||||||
////char *btmp;
|
////char *btmp;
|
||||||
/* pattern list to match, in "aa\0bb\0\cc\0\0" form */
|
/* pattern list to match, in "aa\0bb\0\cc\0\0" form */
|
||||||
char *inst;
|
char *inst;
|
||||||
@ -81,8 +57,64 @@ static struct logdir {
|
|||||||
char fnsave[FMT_PTIME];
|
char fnsave[FMT_PTIME];
|
||||||
char match;
|
char match;
|
||||||
char matcherr;
|
char matcherr;
|
||||||
} *dir;
|
};
|
||||||
static unsigned dirn;
|
|
||||||
|
|
||||||
|
struct globals {
|
||||||
|
struct logdir *dir;
|
||||||
|
unsigned verbose;
|
||||||
|
int linemax;
|
||||||
|
////int buflen;
|
||||||
|
int linelen;
|
||||||
|
|
||||||
|
int fdwdir;
|
||||||
|
char **fndir;
|
||||||
|
int wstat;
|
||||||
|
unsigned nearest_rotate;
|
||||||
|
|
||||||
|
smallint exitasap;
|
||||||
|
smallint rotateasap;
|
||||||
|
smallint reopenasap;
|
||||||
|
smallint linecomplete;
|
||||||
|
smallint tmaxflag;
|
||||||
|
|
||||||
|
char repl;
|
||||||
|
const char *replace;
|
||||||
|
int fl_flag_0;
|
||||||
|
unsigned dirn;
|
||||||
|
|
||||||
|
sigset_t blocked_sigset;
|
||||||
|
};
|
||||||
|
#define G (*(struct globals*)ptr_to_globals)
|
||||||
|
#define dir (G.dir )
|
||||||
|
#define verbose (G.verbose )
|
||||||
|
#define linemax (G.linemax )
|
||||||
|
#define buflen (G.buflen )
|
||||||
|
#define linelen (G.linelen )
|
||||||
|
#define fndir (G.fndir )
|
||||||
|
#define fdwdir (G.fdwdir )
|
||||||
|
#define wstat (G.wstat )
|
||||||
|
#define nearest_rotate (G.nearest_rotate)
|
||||||
|
#define exitasap (G.exitasap )
|
||||||
|
#define rotateasap (G.rotateasap )
|
||||||
|
#define reopenasap (G.reopenasap )
|
||||||
|
#define linecomplete (G.linecomplete )
|
||||||
|
#define tmaxflag (G.tmaxflag )
|
||||||
|
#define repl (G.repl )
|
||||||
|
#define replace (G.replace )
|
||||||
|
#define blocked_sigset (G.blocked_sigset)
|
||||||
|
#define fl_flag_0 (G.fl_flag_0 )
|
||||||
|
#define dirn (G.dirn )
|
||||||
|
#define INIT_G() do { \
|
||||||
|
PTR_TO_GLOBALS = xzalloc(sizeof(G)); \
|
||||||
|
linemax = 1000; \
|
||||||
|
/*buflen = 1024;*/ \
|
||||||
|
linecomplete = 1; \
|
||||||
|
replace = ""; \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
#define line bb_common_bufsiz1
|
||||||
|
|
||||||
|
|
||||||
#define FATAL "fatal: "
|
#define FATAL "fatal: "
|
||||||
#define WARNING "warning: "
|
#define WARNING "warning: "
|
||||||
@ -700,14 +732,14 @@ static int buffer_pread(/*int fd, */char *s, unsigned len)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sigprocmask(SIG_UNBLOCK, blocked_sigset, NULL);
|
sigprocmask(SIG_UNBLOCK, &blocked_sigset, NULL);
|
||||||
i = nearest_rotate - now;
|
i = nearest_rotate - now;
|
||||||
if (i > 1000000)
|
if (i > 1000000)
|
||||||
i = 1000000;
|
i = 1000000;
|
||||||
if (i <= 0)
|
if (i <= 0)
|
||||||
i = 1;
|
i = 1;
|
||||||
poll(&input, 1, i * 1000);
|
poll(&input, 1, i * 1000);
|
||||||
sigprocmask(SIG_BLOCK, blocked_sigset, NULL);
|
sigprocmask(SIG_BLOCK, &blocked_sigset, NULL);
|
||||||
|
|
||||||
i = ndelay_read(0, s, len);
|
i = ndelay_read(0, s, len);
|
||||||
if (i >= 0)
|
if (i >= 0)
|
||||||
@ -814,7 +846,6 @@ static void logmatch(struct logdir *ld)
|
|||||||
int svlogd_main(int argc, char **argv);
|
int svlogd_main(int argc, char **argv);
|
||||||
int svlogd_main(int argc, char **argv)
|
int svlogd_main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
sigset_t ss;
|
|
||||||
char *r,*l,*b;
|
char *r,*l,*b;
|
||||||
ssize_t stdin_cnt = 0;
|
ssize_t stdin_cnt = 0;
|
||||||
int i;
|
int i;
|
||||||
@ -822,7 +853,7 @@ int svlogd_main(int argc, char **argv)
|
|||||||
unsigned timestamp = 0;
|
unsigned timestamp = 0;
|
||||||
void* (*memRchr)(const void *, int, size_t) = memchr;
|
void* (*memRchr)(const void *, int, size_t) = memchr;
|
||||||
|
|
||||||
#define line bb_common_bufsiz1
|
INIT_G();
|
||||||
|
|
||||||
opt_complementary = "tt:vv";
|
opt_complementary = "tt:vv";
|
||||||
opt = getopt32(argv, "r:R:l:b:tv",
|
opt = getopt32(argv, "r:R:l:b:tv",
|
||||||
@ -866,13 +897,12 @@ int svlogd_main(int argc, char **argv)
|
|||||||
* with the same stdin */
|
* with the same stdin */
|
||||||
fl_flag_0 = fcntl(0, F_GETFL);
|
fl_flag_0 = fcntl(0, F_GETFL);
|
||||||
|
|
||||||
blocked_sigset = &ss;
|
sigemptyset(&blocked_sigset);
|
||||||
sigemptyset(&ss);
|
sigaddset(&blocked_sigset, SIGTERM);
|
||||||
sigaddset(&ss, SIGTERM);
|
sigaddset(&blocked_sigset, SIGCHLD);
|
||||||
sigaddset(&ss, SIGCHLD);
|
sigaddset(&blocked_sigset, SIGALRM);
|
||||||
sigaddset(&ss, SIGALRM);
|
sigaddset(&blocked_sigset, SIGHUP);
|
||||||
sigaddset(&ss, SIGHUP);
|
sigprocmask(SIG_BLOCK, &blocked_sigset, NULL);
|
||||||
sigprocmask(SIG_BLOCK, &ss, NULL);
|
|
||||||
sig_catch(SIGTERM, sig_term_handler);
|
sig_catch(SIGTERM, sig_term_handler);
|
||||||
sig_catch(SIGCHLD, sig_child_handler);
|
sig_catch(SIGCHLD, sig_child_handler);
|
||||||
sig_catch(SIGALRM, sig_alarm_handler);
|
sig_catch(SIGALRM, sig_alarm_handler);
|
||||||
|
Loading…
Reference in New Issue
Block a user