X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-sys%2Fevtloop.h;fp=lib-sys%2Fevtloop.h;h=7c46bf676f5725a72c327e606a7ee5a7f8d674e8;hp=6c5e0d8bee0028e72c19858e4d5c215f860b0eba;hb=38f368de05a21ba6cbef6d48f4f89225d0d71c6e;hpb=b70142c2915d0b7bcbba1fcb8d24d8d05c9c1fca diff --git a/lib-sys/evtloop.h b/lib-sys/evtloop.h index 6c5e0d8..7c46bf6 100644 --- a/lib-sys/evtloop.h +++ b/lib-sys/evtloop.h @@ -60,7 +60,7 @@ typedef struct job_t { el_mode emode : 3; int (*llp)(struct job_t *); - struct machine_t *m; + const struct machine_t *m; void *ptr; } job_t; DO_INIT(job_t, job); @@ -80,6 +80,12 @@ __must_check__ int el_job_release(job_t *j, el_status); __must_check__ int el_job_connect(job_t *w, struct sockaddr *, socklen_t len, int type, int proto); +static inline job_t *el_job_start(const machine_t *m, void *cfg) { + job_t *w = job_new(); + w->m = m; + return m->setup(w, cfg) < 0 ? NULL : w; +} + int el_dispatch(int timeout); #endif