Lines Matching defs:waiter
3 // waiter.c - I/O event waiter.
9 #include "waiter.h"
41 int waiter_context_init(struct waiter_context *waiter,
46 const struct waiter_data *waiter;
64 waiter->private_data = malloc(entries[i].waiter->private_size);
65 if (waiter->private_data == NULL)
67 memset(waiter->private_data, 0, entries[i].waiter->private_size);
69 waiter->type = type;
70 waiter->ops = &entries[i].waiter->ops;
72 waiter->pfds = calloc(pfd_count, sizeof(*waiter->pfds));
73 if (waiter->pfds == NULL)
75 waiter->pfd_count = pfd_count;
80 int waiter_context_prepare(struct waiter_context *waiter)
82 return waiter->ops->prepare(waiter);
85 int waiter_context_wait_event(struct waiter_context *waiter,
88 return waiter->ops->wait_event(waiter, timeout_msec);
91 void waiter_context_release(struct waiter_context *waiter)
93 waiter->ops->release(waiter);
96 void waiter_context_destroy(struct waiter_context *waiter)
98 if (waiter->pfds)
99 free(waiter->pfds);
100 waiter->pfd_count = 0;
101 if (waiter->private_data)
102 free(waiter->private_data);
103 waiter->private_data = NULL;