diff options
Diffstat (limited to 'batchd.c')
-rw-r--r-- | batchd.c | 16 |
1 files changed, 8 insertions, 8 deletions
@@ -61,9 +61,9 @@ process_queue(char *queuedir, int dfd) if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0) continue; - asprintf(&name, "new/%s", de->d_name); - asprintf(&work, "work/%s", de->d_name); - asprintf(&failed, "failed/%s", de->d_name); + asprintf(&name, "%s/new/%s", queuedir, de->d_name); + asprintf(&work, "%s/work/%s", queuedir, de->d_name); + asprintf(&failed, "%s/failed/%s", queuedir, de->d_name); fd = open(name, O_RDONLY); if (fd == -1) { @@ -98,7 +98,7 @@ next: } void -wait_all() +wait_all(char *queudir) { int i, status; char *work, *done, *failed; @@ -116,9 +116,9 @@ wait_all() for (i = 0; i < MAX_JOBS; i++) { if (jobs[i].pid == r) { - asprintf(&work, "work/%s", jobs[i].file); - asprintf(&done, "done/%s", jobs[i].file); - asprintf(&failed, "failed/%s", jobs[i].file); + asprintf(&work, "%s/work/%s", queudir, jobs[i].file); + asprintf(&done, "%s/done/%s", queudir, jobs[i].file); + asprintf(&failed, "%s/failed/%s", queudir, jobs[i].file); if (WEXITSTATUS(status) == 0) rename(work, done); @@ -192,7 +192,7 @@ main(int argc, char **argv) for (i = 0; i < ret; i++) { if (kv[i].filter == EVFILT_SIGNAL) { if (kv[i].ident == SIGCHLD) { - wait_all(); + wait_all(queuedir); process_queue(queuedir, dfd); } } else if (kv[i].filter == EVFILT_VNODE) { |