ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libev/ev_kqueue.c
(Generate patch)

Comparing libev/ev_kqueue.c (file contents):
Revision 1.10 by root, Tue Nov 6 00:52:33 2007 UTC vs.
Revision 1.12 by root, Tue Nov 6 17:09:45 2007 UTC

37static void 37static void
38kqueue_change (EV_P_ int fd, int filter, int flags, int fflags) 38kqueue_change (EV_P_ int fd, int filter, int flags, int fflags)
39{ 39{
40 struct kevent *ke; 40 struct kevent *ke;
41 41
42 array_needsize (kqueue_changes, kqueue_changemax, ++kqueue_changecnt, ); 42 array_needsize (struct kevent, kqueue_changes, kqueue_changemax, ++kqueue_changecnt, );
43 43
44 ke = &kqueue_changes [kqueue_changecnt - 1]; 44 ke = &kqueue_changes [kqueue_changecnt - 1];
45 memset (ke, 0, sizeof (struct kevent)); 45 memset (ke, 0, sizeof (struct kevent));
46 ke->ident = fd; 46 ke->ident = fd;
47 ke->filter = filter; 47 ke->filter = filter;
183} 183}
184 184
185static void 185static void
186kqueue_fork (EV_P) 186kqueue_fork (EV_P)
187{ 187{
188 for (;;) 188 close (kqueue_fd);
189 {
190 kqueue_fd = kqueue ();
191 189
192 if (kqueue_fd >= 0) 190 while ((kqueue_fd = kqueue ()) < 0)
193 break;
194
195 syserr ("(libev) kqueue"); 191 syserr ("(libev) kqueue");
196 }
197 192
198 fcntl (kqueue_fd, F_SETFD, FD_CLOEXEC); 193 fcntl (kqueue_fd, F_SETFD, FD_CLOEXEC);
199 194
200 /* re-register interest in fds */ 195 /* re-register interest in fds */
201 fd_rearm_all (EV_A); 196 fd_rearm_all (EV_A);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines