Lines Matching refs:s

47 #define scheduler_for_each_event(s, event, tmp)	\  argument
48 list_for_each_entry_safe(event, tmp, &(s)->events, next)
65 scheduler_prepare_events(scheduler_t *s) in scheduler_prepare_events() argument
71 FD_ZERO(&s->read_fds); in scheduler_prepare_events()
72 FD_ZERO(&s->write_fds); in scheduler_prepare_events()
73 FD_ZERO(&s->except_fds); in scheduler_prepare_events()
75 s->max_fd = 0; in scheduler_prepare_events()
76 s->timeout = SCHEDULER_MAX_TIMEOUT; in scheduler_prepare_events()
80 scheduler_for_each_event(s, event, tmp) { in scheduler_prepare_events()
82 FD_SET(event->fd, &s->read_fds); in scheduler_prepare_events()
83 s->max_fd = MAX(event->fd, s->max_fd); in scheduler_prepare_events()
87 FD_SET(event->fd, &s->write_fds); in scheduler_prepare_events()
88 s->max_fd = MAX(event->fd, s->max_fd); in scheduler_prepare_events()
92 FD_SET(event->fd, &s->except_fds); in scheduler_prepare_events()
93 s->max_fd = MAX(event->fd, s->max_fd); in scheduler_prepare_events()
99 s->timeout = MIN(s->timeout, diff); in scheduler_prepare_events()
101 s->timeout = 0; in scheduler_prepare_events()
105 s->timeout = MIN(s->timeout, s->max_timeout); in scheduler_prepare_events()
121 scheduler_run_events(scheduler_t *s) in scheduler_run_events() argument
129 s->restart = 0; in scheduler_run_events()
131 scheduler_for_each_event(s, event, tmp) { in scheduler_run_events()
133 FD_ISSET(event->fd, &s->read_fds)) { in scheduler_run_events()
134 FD_CLR(event->fd, &s->read_fds); in scheduler_run_events()
140 FD_ISSET(event->fd, &s->write_fds)) { in scheduler_run_events()
141 FD_CLR(event->fd, &s->write_fds); in scheduler_run_events()
147 FD_ISSET(event->fd, &s->except_fds)) { in scheduler_run_events()
148 FD_CLR(event->fd, &s->except_fds); in scheduler_run_events()
158 if (s->restart) in scheduler_run_events()
164 scheduler_register_event(scheduler_t *s, char mode, int fd, in scheduler_register_event() argument
190 event->id = s->uuid++; in scheduler_register_event()
192 if (!s->uuid) in scheduler_register_event()
193 s->uuid++; in scheduler_register_event()
195 list_add_tail(&event->next, &s->events); in scheduler_register_event()
201 scheduler_unregister_event(scheduler_t *s, event_id_t id) in scheduler_unregister_event() argument
208 scheduler_for_each_event(s, event, tmp) in scheduler_unregister_event()
212 s->restart = 1; in scheduler_unregister_event()
218 scheduler_set_max_timeout(scheduler_t *s, int timeout) in scheduler_set_max_timeout() argument
221 s->max_timeout = MIN(s->max_timeout, timeout); in scheduler_set_max_timeout()
225 scheduler_wait_for_events(scheduler_t *s) in scheduler_wait_for_events() argument
230 scheduler_prepare_events(s); in scheduler_wait_for_events()
232 tv.tv_sec = s->timeout; in scheduler_wait_for_events()
236 s->timeout, s->max_timeout); in scheduler_wait_for_events()
238 ret = select(s->max_fd + 1, &s->read_fds, in scheduler_wait_for_events()
239 &s->write_fds, &s->except_fds, &tv); in scheduler_wait_for_events()
241 s->restart = 0; in scheduler_wait_for_events()
242 s->timeout = SCHEDULER_MAX_TIMEOUT; in scheduler_wait_for_events()
243 s->max_timeout = SCHEDULER_MAX_TIMEOUT; in scheduler_wait_for_events()
248 scheduler_run_events(s); in scheduler_wait_for_events()
254 scheduler_initialize(scheduler_t *s) in scheduler_initialize() argument
256 memset(s, 0, sizeof(scheduler_t)); in scheduler_initialize()
258 s->uuid = 1; in scheduler_initialize()
260 FD_ZERO(&s->read_fds); in scheduler_initialize()
261 FD_ZERO(&s->write_fds); in scheduler_initialize()
262 FD_ZERO(&s->except_fds); in scheduler_initialize()
264 INIT_LIST_HEAD(&s->events); in scheduler_initialize()