… | |
… | |
87 | kqueue_events = (struct kevent *)ev_malloc (sizeof (struct kevent) * kqueue_eventmax); |
87 | kqueue_events = (struct kevent *)ev_malloc (sizeof (struct kevent) * kqueue_eventmax); |
88 | } |
88 | } |
89 | |
89 | |
90 | ts.tv_sec = (time_t)timeout; |
90 | ts.tv_sec = (time_t)timeout; |
91 | ts.tv_nsec = (long)((timeout - (ev_tstamp)ts.tv_sec) * 1e9); |
91 | ts.tv_nsec = (long)((timeout - (ev_tstamp)ts.tv_sec) * 1e9); |
92 | fprintf (stderr, "to %ld:%09ld %f\n", ts.tv_sec, ts.tv_nsec, res);//D |
|
|
93 | res = kevent (kqueue_fd, kqueue_changes, kqueue_changecnt, kqueue_events, kqueue_eventmax, &ts); |
92 | res = kevent (kqueue_fd, kqueue_changes, kqueue_changecnt, kqueue_events, kqueue_eventmax, &ts); |
94 | kqueue_changecnt = 0; |
93 | kqueue_changecnt = 0; |
95 | |
94 | |
96 | if (res < 0) |
95 | if (res < 0) |
97 | { |
96 | { |
… | |
… | |
181 | /* detected broken kqueue */ |
180 | /* detected broken kqueue */ |
182 | close (kqueue_fd); |
181 | close (kqueue_fd); |
183 | return 0; |
182 | return 0; |
184 | } |
183 | } |
185 | |
184 | |
186 | method_fudge = 1e-3; /* needed to compensate for kevent returning early */ |
185 | backend_fudge = 1e-3; /* needed to compensate for kevent returning early */ |
187 | method_modify = kqueue_modify; |
186 | backend_modify = kqueue_modify; |
188 | method_poll = kqueue_poll; |
187 | backend_poll = kqueue_poll; |
189 | |
188 | |
190 | kqueue_eventmax = 64; /* intiial number of events receivable per poll */ |
189 | kqueue_eventmax = 64; /* intiial number of events receivable per poll */ |
191 | kqueue_events = (struct kevent *)ev_malloc (sizeof (struct kevent) * kqueue_eventmax); |
190 | kqueue_events = (struct kevent *)ev_malloc (sizeof (struct kevent) * kqueue_eventmax); |
192 | |
191 | |
193 | kqueue_changes = 0; |
192 | kqueue_changes = 0; |
194 | kqueue_changemax = 0; |
193 | kqueue_changemax = 0; |
195 | kqueue_changecnt = 0; |
194 | kqueue_changecnt = 0; |
196 | |
195 | |
197 | return EVMETHOD_KQUEUE; |
196 | return EVBACKEND_KQUEUE; |
198 | } |
197 | } |
199 | |
198 | |
200 | static void |
199 | static void |
201 | kqueue_destroy (EV_P) |
200 | kqueue_destroy (EV_P) |
202 | { |
201 | { |