summaryrefslogtreecommitdiff
path: root/cfgdir.c
diff options
context:
space:
mode:
Diffstat (limited to 'cfgdir.c')
-rw-r--r--cfgdir.c76
1 files changed, 40 insertions, 36 deletions
diff --git a/cfgdir.c b/cfgdir.c
index 3d5c2f7..54a2e6e 100644
--- a/cfgdir.c
+++ b/cfgdir.c
@@ -105,14 +105,16 @@ scfg_parse(struct cfg *cfg, struct server *scfg)
while (true) {
int key;
+ const char *keyname;
union cfg_value value;
- if (!config_parse_line(cfg, &pos, scfg_key_map, &key, &value))
+ if (!config_parse_line(cfg, &pos, scfg_key_map, &key, &keyname, &value))
break;
if (key == SCFG_KEY_INVALID)
break;
- printf("Got a key-value pair: %i = something\n", key);
+
+ debug(DBG_CFG, "%s: key %s\n", scfg->name, keyname);
switch (key) {
@@ -230,12 +232,12 @@ scfg_read_cb(struct cfg *cfg, struct uring_task *task, int res)
return;
if (res <= 0) {
- fprintf(stderr, "%s: error reading config file for %s: %s\n",
- __func__, scfg->name, strerror(-res));
+ error("error reading config file for %s: %s\n",
+ scfg->name, strerror(-res));
server_delete(cfg, scfg);
}
- printf("Asked to parse server cfg %s (bytes %i)\n", scfg->name, res);
+ debug(DBG_CFG, "%s: parsing cfg (%i bytes)\n", scfg->name, res);
uring_task_close_fd(cfg, &scfg->task);
scfg_parse(cfg, scfg);
server_commit(cfg, scfg);
@@ -246,17 +248,18 @@ scfg_open_cb(struct cfg *cfg, struct uring_task *task, int res)
{
struct server *scfg = container_of(task, struct server, task);
- if (task->dead)
+ if (task->dead) {
+ debug(DBG_CFG, "task dead\n");
return;
+ }
if (res < 0) {
- fprintf(stderr, "%s: open(%s) failed: %s\n",
- __func__, scfg->name, strerror(-res));
+ error("open(%s) failed: %s\n", scfg->name, strerror(-res));
server_delete(cfg, scfg);
return;
}
- printf("Asked to read server cfg %s (fd %i)\n", scfg->name, res);
+ debug(DBG_CFG, "reading server cfg %s (fd %i)\n", scfg->name, res);
uring_task_set_fd(&scfg->task, res);
uring_tbuf_read_until_eof(cfg, &scfg->task, scfg_read_cb);
}
@@ -289,7 +292,8 @@ inotify_free(struct uring_task *task)
struct inotify_ev *iev = container_of(task, struct inotify_ev, task);
struct cfg *cfg = container_of(task->parent, struct cfg, task);
- fprintf(stderr, "%s called\n", __func__);
+ debug(DBG_CFG, "called\n");
+
if (!iev || !cfg)
die("iev or cfg is NULL!?");
@@ -300,43 +304,43 @@ inotify_free(struct uring_task *task)
static void
inotify_event_dump(const struct inotify_event *event)
{
- printf("Event:\n");
- printf(" * WD : %i\n", event->wd);
- printf(" * Cookie : %" PRIu32 "\n", event->cookie);
- printf(" * Length : %" PRIu32 "\n", event->len);
- printf(" * Name : %s\n", event->name);
- printf(" * Mask : %" PRIu32 "\n", event->mask);
+ debug(DBG_CFG, "inotify event:\n");
+ debug(DBG_CFG, " * WD : %i\n", event->wd);
+ debug(DBG_CFG, " * Cookie : %" PRIu32 "\n", event->cookie);
+ debug(DBG_CFG, " * Length : %" PRIu32 "\n", event->len);
+ debug(DBG_CFG, " * Name : %s\n", event->name);
+ debug(DBG_CFG, " * Mask : %" PRIu32 "\n", event->mask);
if (event->mask & IN_ACCESS)
- printf("\tIN_ACCESS\n");
+ debug(DBG_CFG, "\tIN_ACCESS\n");
else if(event->mask & IN_MODIFY)
- printf("\tIN_MODIFY\n");
+ debug(DBG_CFG, "\tIN_MODIFY\n");
else if(event->mask & IN_ATTRIB)
- printf("\tIN_ATTRIB\n");
+ debug(DBG_CFG, "\tIN_ATTRIB\n");
else if(event->mask & IN_CLOSE_WRITE)
- printf("\tIN_CLOSE_WRITE\n");
+ debug(DBG_CFG, "\tIN_CLOSE_WRITE\n");
else if(event->mask & IN_CLOSE_NOWRITE)
- printf("\tIN_CLOSE_NOWRITE\n");
+ debug(DBG_CFG, "\tIN_CLOSE_NOWRITE\n");
else if(event->mask & IN_OPEN)
- printf("\tIN_OPEN\n");
+ debug(DBG_CFG, "\tIN_OPEN\n");
else if(event->mask & IN_MOVED_FROM)
- printf("\tIN_MOVED_FROM\n");
+ debug(DBG_CFG, "\tIN_MOVED_FROM\n");
else if(event->mask & IN_MOVED_TO)
- printf("\tIN_MOVED_TO\n");
+ debug(DBG_CFG, "\tIN_MOVED_TO\n");
else if(event->mask & IN_CREATE)
- printf("\tIN_CREATE\n");
+ debug(DBG_CFG, "\tIN_CREATE\n");
else if(event->mask & IN_DELETE)
- printf("\tIN_DELETE\n");
+ debug(DBG_CFG, "\tIN_DELETE\n");
else if(event->mask & IN_DELETE_SELF)
- printf("\tIN_DELETE_SELF\n");
+ debug(DBG_CFG, "\tIN_DELETE_SELF\n");
else if(event->mask & IN_MOVE_SELF)
- printf("\tIN_MOVE_SELF\n");
+ debug(DBG_CFG, "\tIN_MOVE_SELF\n");
else if(event->mask & IN_UNMOUNT)
- printf("\tIN_UNMOUNT\n");
+ debug(DBG_CFG, "\tIN_UNMOUNT\n");
else if(event->mask & IN_Q_OVERFLOW)
- printf("\tIN_Q_OVERFLOW\n");
+ debug(DBG_CFG, "\tIN_Q_OVERFLOW\n");
else if(event->mask & IN_IGNORED)
- printf("\tIN_IGNORED\n");
- printf("\n");
+ debug(DBG_CFG, "\tIN_IGNORED\n");
+ debug(DBG_CFG, "\n");
}
static void
@@ -378,10 +382,10 @@ inotify_cb(struct cfg *cfg, struct uring_task *task, int res)
server_delete_by_name(cfg, event->name);
else if (event->mask & (IN_MOVED_TO | IN_CREATE | IN_CLOSE_WRITE)) {
scfg = server_new(cfg, event->name);
- fprintf(stderr, "%s: calling openat(%s)\n", __func__, scfg->name);
+ verbose("New server config file detected: %s\n", scfg->name);
uring_openat(cfg, &scfg->task, scfg->name, scfg_open_cb);
} else
- error("inotify: weird, unknown event: 0x%08x\n", event->mask);
+ error("inotify: unknown event: 0x%08x\n", event->mask);
}
uring_read(cfg, &iev->task, iev->buf, sizeof(iev->buf), inotify_cb);
@@ -397,11 +401,11 @@ void
cfgdir_delete(struct cfg *cfg)
{
if (!cfg->iev) {
- fprintf(stderr, "%s called with no iev!\n", __func__);
+ error("missing arguments\n");
return;
}
- fprintf(stderr, "%s called, closing fd %i\n", __func__, cfg->iev->task.fd);
+ debug(DBG_CFG, "closing fd %i\n", cfg->iev->task.fd);
uring_task_destroy(cfg, &cfg->iev->task);
cfg->iev = NULL;
}