service: nonfatally ignore unknown call keywords
. makes switching between revisions with new system.conf keywords less risky
This commit is contained in:
parent
4c3a751f9b
commit
a5f09d5196
@ -787,11 +787,10 @@ static void do_vm(config_t *cpe, struct rs_start *rs_start)
|
|||||||
for (i = 0; vm_table[i].label != NULL; i++)
|
for (i = 0; vm_table[i].label != NULL; i++)
|
||||||
if (!strcmp(cpe->word, vm_table[i].label))
|
if (!strcmp(cpe->word, vm_table[i].label))
|
||||||
break;
|
break;
|
||||||
if (vm_table[i].label == NULL)
|
if (vm_table[i].label == NULL) {
|
||||||
fatal("do_vm: unknown call '%s' at %s:%d",
|
warning("do_vm: ignoring unknown call '%s' at %s:%d",
|
||||||
cpe->word, cpe->file, cpe->line);
|
cpe->word, cpe->file, cpe->line);
|
||||||
|
} else if(vm_table[i].call_nr) {
|
||||||
if(vm_table[i].call_nr) {
|
|
||||||
SET_BIT(rs_start->rss_vm,
|
SET_BIT(rs_start->rss_vm,
|
||||||
vm_table[i].call_nr - VM_RQ_BASE);
|
vm_table[i].call_nr - VM_RQ_BASE);
|
||||||
}
|
}
|
||||||
@ -881,10 +880,13 @@ static void do_system(config_t *cpe, struct rs_start *rs_start)
|
|||||||
for (i = 0; system_tab[i].label != NULL; i++)
|
for (i = 0; system_tab[i].label != NULL; i++)
|
||||||
if (!strcmp(cpe->word, system_tab[i].label))
|
if (!strcmp(cpe->word, system_tab[i].label))
|
||||||
break;
|
break;
|
||||||
if (system_tab[i].label == NULL)
|
if (system_tab[i].label == NULL) {
|
||||||
fatal("do_system: unknown call '%s' at %s:%d",
|
warning("do_system: ignoring unknown call '%s' at %s:%d",
|
||||||
cpe->word, cpe->file, cpe->line);
|
cpe->word, cpe->file, cpe->line);
|
||||||
SET_BIT(rs_start->rss_system, system_tab[i].call_nr - KERNEL_CALL);
|
} else {
|
||||||
|
SET_BIT(rs_start->rss_system,
|
||||||
|
system_tab[i].call_nr - KERNEL_CALL);
|
||||||
|
}
|
||||||
first = FALSE;
|
first = FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
void fatal(char *fmt, ...);
|
void fatal(char *fmt, ...);
|
||||||
|
void warning(char *fmt, ...);
|
||||||
const char *parse_config(char *progname, int custom, char *configname,
|
const char *parse_config(char *progname, int custom, char *configname,
|
||||||
struct rs_config *config);
|
struct rs_config *config);
|
||||||
|
@ -7,7 +7,7 @@ void fatal(char *fmt, ...)
|
|||||||
{
|
{
|
||||||
va_list ap;
|
va_list ap;
|
||||||
|
|
||||||
fprintf(stderr, "fatal error: ");
|
fprintf(stderr, "service: fatal error: ");
|
||||||
va_start(ap, fmt);
|
va_start(ap, fmt);
|
||||||
vfprintf(stderr, fmt, ap);
|
vfprintf(stderr, fmt, ap);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
@ -15,3 +15,14 @@ void fatal(char *fmt, ...)
|
|||||||
|
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void warning(char *fmt, ...)
|
||||||
|
{
|
||||||
|
va_list ap;
|
||||||
|
|
||||||
|
fprintf(stderr, "service: warning: ");
|
||||||
|
va_start(ap, fmt);
|
||||||
|
vfprintf(stderr, fmt, ap);
|
||||||
|
va_end(ap);
|
||||||
|
fprintf(stderr, "\n");
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user