summaryrefslogtreecommitdiffstats
path: root/batchd.c
diff options
context:
space:
mode:
Diffstat (limited to 'batchd.c')
-rw-r--r--batchd.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/batchd.c b/batchd.c
index 75930b7..e287932 100644
--- a/batchd.c
+++ b/batchd.c
@@ -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) {