Lines Matching +full:1 +full:e

24  * Initialize @e with existing file descriptor @fd.
27 void event_notifier_init_fd(EventNotifier *e, int fd) in event_notifier_init_fd() argument
29 e->rfd = fd; in event_notifier_init_fd()
30 e->wfd = fd; in event_notifier_init_fd()
31 e->initialized = true; in event_notifier_init_fd()
35 int event_notifier_init(EventNotifier *e, int active) in event_notifier_init() argument
43 ret = -1; in event_notifier_init()
47 e->rfd = e->wfd = ret; in event_notifier_init()
59 if (!g_unix_set_fd_nonblocking(fds[1], true, NULL)) { in event_notifier_init()
63 e->rfd = fds[0]; in event_notifier_init()
64 e->wfd = fds[1]; in event_notifier_init()
66 e->initialized = true; in event_notifier_init()
68 event_notifier_set(e); in event_notifier_init()
74 close(fds[1]); in event_notifier_init()
78 void event_notifier_cleanup(EventNotifier *e) in event_notifier_cleanup() argument
80 if (!e->initialized) { in event_notifier_cleanup()
84 if (e->rfd != e->wfd) { in event_notifier_cleanup()
85 close(e->rfd); in event_notifier_cleanup()
88 e->rfd = -1; in event_notifier_cleanup()
89 close(e->wfd); in event_notifier_cleanup()
90 e->wfd = -1; in event_notifier_cleanup()
91 e->initialized = false; in event_notifier_cleanup()
94 int event_notifier_get_fd(const EventNotifier *e) in event_notifier_get_fd() argument
96 return e->rfd; in event_notifier_get_fd()
99 int event_notifier_get_wfd(const EventNotifier *e) in event_notifier_get_wfd() argument
101 return e->wfd; in event_notifier_get_wfd()
104 int event_notifier_set(EventNotifier *e) in event_notifier_set() argument
106 static const uint64_t value = 1; in event_notifier_set()
109 if (!e->initialized) { in event_notifier_set()
110 return -1; in event_notifier_set()
114 ret = write(e->wfd, &value, sizeof(value)); in event_notifier_set()
124 int event_notifier_test_and_clear(EventNotifier *e) in event_notifier_test_and_clear() argument
130 if (!e->initialized) { in event_notifier_test_and_clear()
137 len = read(e->rfd, buffer, sizeof(buffer)); in event_notifier_test_and_clear()
139 } while ((len == -1 && errno == EINTR) || len == sizeof(buffer)); in event_notifier_test_and_clear()