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

Comparing libev/ev.pod (file contents):
Revision 1.406 by root, Thu May 3 16:00:47 2012 UTC vs.
Revision 1.409 by root, Fri May 4 20:22:27 2012 UTC

1318 1318
1319=item callback ev_cb (ev_TYPE *watcher) 1319=item callback ev_cb (ev_TYPE *watcher)
1320 1320
1321Returns the callback currently set on the watcher. 1321Returns the callback currently set on the watcher.
1322 1322
1323=item ev_cb_set (ev_TYPE *watcher, callback) 1323=item ev_set_cb (ev_TYPE *watcher, callback)
1324 1324
1325Change the callback. You can change the callback at virtually any time 1325Change the callback. You can change the callback at virtually any time
1326(modulo threads). 1326(modulo threads).
1327 1327
1328=item ev_set_priority (ev_TYPE *watcher, int priority) 1328=item ev_set_priority (ev_TYPE *watcher, int priority)
2881callback, free it. Also, use no error checking, as usual. 2881callback, free it. Also, use no error checking, as usual.
2882 2882
2883 static void 2883 static void
2884 idle_cb (struct ev_loop *loop, ev_idle *w, int revents) 2884 idle_cb (struct ev_loop *loop, ev_idle *w, int revents)
2885 { 2885 {
2886 // stop the watcher
2887 ev_idle_stop (loop, w);
2888
2889 // now we can free it
2886 free (w); 2890 free (w);
2891
2887 // now do something you wanted to do when the program has 2892 // now do something you wanted to do when the program has
2888 // no longer anything immediate to do. 2893 // no longer anything immediate to do.
2889 } 2894 }
2890 2895
2891 ev_idle *idle_watcher = malloc (sizeof (ev_idle)); 2896 ev_idle *idle_watcher = malloc (sizeof (ev_idle));
3870called): 3875called):
3871 3876
3872 void 3877 void
3873 wait_for_event (ev_watcher *w) 3878 wait_for_event (ev_watcher *w)
3874 { 3879 {
3875 ev_cb_set (w) = current_coro; 3880 ev_set_cb (w, current_coro);
3876 switch_to (libev_coro); 3881 switch_to (libev_coro);
3877 } 3882 }
3878 3883
3879That basically suspends the coroutine inside C<wait_for_event> and 3884That basically suspends the coroutine inside C<wait_for_event> and
3880continues the libev coroutine, which, when appropriate, switches back to 3885continues the libev coroutine, which, when appropriate, switches back to

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines