return job;
}
-void job_update_events(job_t *job)
+void job_update_state(job_t *job, int state)
{
struct epoll_event event = { .data.ptr = job, .events = EPOLLRDHUP };
+ if (job->state == state)
+ return;
+
+ job->state = state;
+
if (job->state & JOB_READ || job->state & JOB_LISTEN) {
event.events |= EPOLLIN;
}