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

Comparing libev/ev.c (file contents):
Revision 1.194 by root, Sat Dec 22 07:03:31 2007 UTC vs.
Revision 1.195 by root, Sat Dec 22 11:44:51 2007 UTC

2266 ev_embed *w = (ev_embed *)(((char *)io) - offsetof (ev_embed, io)); 2266 ev_embed *w = (ev_embed *)(((char *)io) - offsetof (ev_embed, io));
2267 2267
2268 if (ev_cb (w)) 2268 if (ev_cb (w))
2269 ev_feed_event (EV_A_ (W)w, EV_EMBED); 2269 ev_feed_event (EV_A_ (W)w, EV_EMBED);
2270 else 2270 else
2271 ev_embed_sweep (loop, w); 2271 ev_loop (w->other, EVLOOP_NONBLOCK);
2272} 2272}
2273 2273
2274static void 2274static void
2275embed_prepare_cb (EV_P_ ev_prepare *prepare, int revents) 2275embed_prepare_cb (EV_P_ ev_prepare *prepare, int revents)
2276{ 2276{
2277 ev_embed *w = (ev_embed *)(((char *)prepare) - offsetof (ev_embed, prepare)); 2277 ev_embed *w = (ev_embed *)(((char *)prepare) - offsetof (ev_embed, prepare));
2278 2278
2279 fd_reify (w->other); 2279 {
2280 struct ev_loop *loop = w->other;
2281
2282 while (fdchangecnt)
2283 {
2284 fd_reify (EV_A);
2285 ev_loop (EV_A_ EVLOOP_NONBLOCK);
2286 }
2287 }
2280} 2288}
2289
2290#if 0
2291static void
2292embed_idle_cb (EV_P_ ev_idle *idle, int revents)
2293{
2294 ev_idle_stop (EV_A_ idle);
2295}
2296#endif
2281 2297
2282void 2298void
2283ev_embed_start (EV_P_ ev_embed *w) 2299ev_embed_start (EV_P_ ev_embed *w)
2284{ 2300{
2285 if (expect_false (ev_is_active (w))) 2301 if (expect_false (ev_is_active (w)))
2296 2312
2297 ev_prepare_init (&w->prepare, embed_prepare_cb); 2313 ev_prepare_init (&w->prepare, embed_prepare_cb);
2298 ev_set_priority (&w->prepare, EV_MINPRI); 2314 ev_set_priority (&w->prepare, EV_MINPRI);
2299 ev_prepare_start (EV_A_ &w->prepare); 2315 ev_prepare_start (EV_A_ &w->prepare);
2300 2316
2317 /*ev_idle_init (&w->idle, e,bed_idle_cb);*/
2318
2301 ev_start (EV_A_ (W)w, 1); 2319 ev_start (EV_A_ (W)w, 1);
2302} 2320}
2303 2321
2304void 2322void
2305ev_embed_stop (EV_P_ ev_embed *w) 2323ev_embed_stop (EV_P_ ev_embed *w)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines