Lely core libraries
2.2.5
|
Go to the documentation of this file.
25 #define LELY_IO_SIGSET_INLINE extern inline
36 static void io_sigset_async_wait_func(
struct ev_task *
task);
48 async_wait->promise = promise;
50 exec, &io_sigset_async_wait_func);
55 *pwait = &async_wait->wait;
#define IO_SIGSET_WAIT_INIT(exec, func)
The static initializer for io_sigset_wait.
const struct ev_exec_vtbl *const ev_exec_t
An abstract task executor.
void io_sigset_submit_wait(io_sigset_t *sigset, struct io_sigset_wait *wait)
Submits a wait operation to a signal handler.
ev_future_t * io_sigset_async_wait(io_sigset_t *sigset, ev_exec_t *exec, struct io_sigset_wait **pwait)
Submits an asynchronous wait operation to a signal handler and creates a future which becomes ready o...
A wait operation suitable for use with a signal handler.
void * ev_promise_data(const ev_promise_t *promise)
Returns a pointer to the shared state of a promise.
ev_promise_t * ev_promise_create(size_t size, ev_promise_dtor_t *dtor)
Constructs a new promise with an optional empty shared state.
const struct io_sigset_vtbl *const io_sigset_t
An abstract signal handler.
int ev_promise_set(ev_promise_t *promise, void *value)
Satiesfies a promise, if it was not aready satisfied, and stores the specified value for retrieval by...
struct io_sigset_wait * io_sigset_wait_from_task(struct ev_task *task)
Obtains a pointer to a signal wait operation from a pointer to its completion task.
int signo
The signal number, or 0 if the wait operation was canceled.
#define structof(ptr, type, member)
Obtains the address of a structure from the address of one of its members.
void ev_promise_release(ev_promise_t *promise)
Releases a reference to a promise.
struct ev_task task
The task (to be) submitted upon completion (or cancellation) of the wait operation.
ev_future_t * ev_promise_get_future(ev_promise_t *promise)
Returns (a reference to) a future associated with the specified promise.