summaryrefslogtreecommitdiff
path: root/rsync/job.c
Side-by-side diff
Diffstat (limited to 'rsync/job.c') (more/less context) (ignore whitespace changes)
-rw-r--r--rsync/job.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/rsync/job.c b/rsync/job.c
index 680982d..36f39f0 100644
--- a/rsync/job.c
+++ b/rsync/job.c
@@ -73,48 +73,49 @@ rs_job_t * rs_job_new(char const *job_name, rs_result (*statefn)(rs_job_t *))
rs_trace("start %s job", job_name);
return job;
}
void rs_job_check(rs_job_t *job)
{
assert(job->dogtag == rs_job_tag);
}
rs_result rs_job_free(rs_job_t *job)
{
rs_bzero(job, sizeof *job);
free(job);
return RS_DONE;
}
static rs_result rs_job_s_complete(rs_job_t *job)
{
+ job = job;
rs_fatal("should not be reached");
return RS_INTERNAL_ERROR;
}
static rs_result rs_job_complete(rs_job_t *job, rs_result result)
{
rs_job_check(job);
job->statefn = rs_job_s_complete;
job->final_result = result;
if (result != RS_DONE) {
rs_error("%s job failed: %s", job->job_name, rs_strerror(result));
} else {
rs_trace("%s job complete", job->job_name);
}
if (result == RS_DONE && !rs_tube_is_idle(job))
/* Processing is finished, but there is still some data
* waiting to get into the output buffer. */
return RS_BLOCKED;
else
return result;