remove runit/runit_lib.c
function old new delta runsv_main 1770 1786 +16 svstatus_get 176 188 +12 sv_main 1180 1186 +6 runsvdir_main 683 689 +6 processorstart 385 391 +6 control 126 132 +6 logdir_open 1184 1187 +3 lock_exnb 14 - -14 lock_ex 14 - -14 open_write 17 - -17 open_read 17 - -17 ------------------------------------------------------------------------------ (add/remove: 0/5 grow/shrink: 7/0 up/down: 55/-62) Total: -7 bytes Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
This commit is contained in:
@@ -261,6 +261,52 @@ static char* wstrdup(const char *str)
|
||||
return s;
|
||||
}
|
||||
|
||||
static unsigned pmatch(const char *p, const char *s, unsigned len)
|
||||
{
|
||||
for (;;) {
|
||||
char c = *p++;
|
||||
if (!c) return !len;
|
||||
switch (c) {
|
||||
case '*':
|
||||
c = *p;
|
||||
if (!c) return 1;
|
||||
for (;;) {
|
||||
if (!len) return 0;
|
||||
if (*s == c) break;
|
||||
++s;
|
||||
--len;
|
||||
}
|
||||
continue;
|
||||
case '+':
|
||||
c = *p++;
|
||||
if (c != *s) return 0;
|
||||
for (;;) {
|
||||
if (!len) return 1;
|
||||
if (*s != c) break;
|
||||
++s;
|
||||
--len;
|
||||
}
|
||||
continue;
|
||||
/*
|
||||
case '?':
|
||||
if (*p == '?') {
|
||||
if (*s != '?') return 0;
|
||||
++p;
|
||||
}
|
||||
++s; --len;
|
||||
continue;
|
||||
*/
|
||||
default:
|
||||
if (!len) return 0;
|
||||
if (*s != c) return 0;
|
||||
++s;
|
||||
--len;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*** ex fmt_ptime.[ch] ***/
|
||||
|
||||
/* NUL terminated */
|
||||
@@ -342,7 +388,7 @@ static void processorstart(struct logdir *ld)
|
||||
ld->fnsave[26] = 't'; /* <- that's why we need sv_ch! */
|
||||
fd = xopen(ld->fnsave, O_WRONLY|O_NDELAY|O_TRUNC|O_CREAT);
|
||||
xmove_fd(fd, 1);
|
||||
fd = open_read("state");
|
||||
fd = open("state", O_RDONLY|O_NDELAY);
|
||||
if (fd == -1) {
|
||||
if (errno != ENOENT)
|
||||
bb_perror_msg_and_die(FATAL"can't %s processor %s", "open state for", ld->name);
|
||||
@@ -626,7 +672,7 @@ static NOINLINE unsigned logdir_open(struct logdir *ld, const char *fn)
|
||||
}
|
||||
ld->fdlock = open("lock", O_WRONLY|O_NDELAY|O_APPEND|O_CREAT, 0600);
|
||||
if ((ld->fdlock == -1)
|
||||
|| (lock_exnb(ld->fdlock) == -1)
|
||||
|| (flock(ld->fdlock, LOCK_EX | LOCK_NB) == -1)
|
||||
) {
|
||||
logdir_close(ld);
|
||||
warn2("can't lock directory", (char*)fn);
|
||||
|
Reference in New Issue
Block a user