summaryrefslogtreecommitdiffstats
path: root/server-job.c
diff options
context:
space:
mode:
Diffstat (limited to 'server-job.c')
-rw-r--r--server-job.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/server-job.c b/server-job.c
index 6ff15860..5d83ff92 100644
--- a/server-job.c
+++ b/server-job.c
@@ -18,6 +18,7 @@
#include <sys/types.h>
+#include <event.h>
#include <unistd.h>
#include "tmux.h"
@@ -31,13 +32,16 @@ server_job_prepare(void)
SLIST_FOREACH(job, &all_jobs, lentry) {
if (job->fd == -1)
continue;
- server_poll_add(job->fd, POLLIN, server_job_callback, job);
+ event_del(&job->event);
+ event_set(
+ &job->event, job->fd, EV_READ, server_job_callback, job);
+ event_add(&job->event, NULL);
}
}
/* Process a single job event. */
void
-server_job_callback(int fd, int events, void *data)
+server_job_callback(int fd, short events, void *data)
{
struct job *job = data;
@@ -55,7 +59,7 @@ void
server_job_loop(void)
{
struct job *job;
-
+
restart:
SLIST_FOREACH(job, &all_jobs, lentry) {
if (job->flags & JOB_DONE || job->fd != -1 || job->pid != -1)