… | |
… | |
68 | vec_wi [offs] |= mask; |
68 | vec_wi [offs] |= mask; |
69 | if (!(nev & EV_WRITE)) |
69 | if (!(nev & EV_WRITE)) |
70 | vec_wi [offs] &= ~mask; |
70 | vec_wi [offs] &= ~mask; |
71 | } |
71 | } |
72 | |
72 | |
|
|
73 | static void |
73 | static void select_poll (ev_tstamp timeout) |
74 | select_poll (ev_tstamp timeout) |
74 | { |
75 | { |
75 | struct timeval tv; |
76 | struct timeval tv; |
76 | int res; |
77 | int res; |
77 | |
78 | |
78 | memcpy (vec_ro, vec_ri, vec_max * 4); |
79 | memcpy (vec_ro, vec_ri, vec_max * 4); |
… | |
… | |
115 | if (errno == EBADF) |
116 | if (errno == EBADF) |
116 | fd_recheck (); |
117 | fd_recheck (); |
117 | } |
118 | } |
118 | } |
119 | } |
119 | |
120 | |
|
|
121 | static void |
120 | void select_init (int flags) |
122 | select_init (int flags) |
121 | { |
123 | { |
122 | ev_method = EVMETHOD_SELECT; |
124 | ev_method = EVMETHOD_SELECT; |
123 | method_fudge = 1e-2; /* needed to compensate for select returning early, very conservative */ |
125 | method_fudge = 1e-2; /* needed to compensate for select returning early, very conservative */ |
124 | method_modify = select_modify; |
126 | method_modify = select_modify; |
125 | method_poll = select_poll; |
127 | method_poll = select_poll; |
126 | } |
128 | } |
127 | |
129 | |
128 | |
|
|