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

Comparing libev/ev.pod (file contents):
Revision 1.230 by root, Wed Apr 15 18:47:07 2009 UTC vs.
Revision 1.232 by root, Thu Apr 16 06:17:26 2009 UTC

633This function is rarely useful, but when some event callback runs for a 633This function is rarely useful, but when some event callback runs for a
634very long time without entering the event loop, updating libev's idea of 634very long time without entering the event loop, updating libev's idea of
635the current time is a good idea. 635the current time is a good idea.
636 636
637See also "The special problem of time updates" in the C<ev_timer> section. 637See also "The special problem of time updates" in the C<ev_timer> section.
638
639=item ev_suspend (loop)
640
641=item ev_resume (loop)
642
643These two functions suspend and resume a loop, for use when the loop is
644not used for a while and timeouts should not be processed.
645
646A typical use case would be an interactive program such as a game: When
647the user presses C<^Z> to suspend the game and resumes it an hour later it
648would be best to handle timeouts as if no time had actually passed while
649the program was suspended. This can be achieved by calling C<ev_suspend>
650in your C<SIGTSTP> handler, sending yourself a C<SIGSTOP> and calling
651C<ev_resume> directly afterwards to resume timer processing.
652
653Effectively, all C<ev_timer> watchers will be delayed by the time spend
654between C<ev_suspend> and C<ev_resume>, and all C<ev_periodic> watchers
655will be rescheduled (that is, they will lose any events that would have
656occured while suspended).
657
658After calling C<ev_suspend> you B<must not> call I<any> function on the
659given loop other than C<ev_resume>, and you B<must not> call C<ev_resume>
660without a previous call to C<ev_suspend>.
661
662Calling C<ev_suspend>/C<ev_resume> has the side effect of updating the
663event loop time (see C<ev_now_update>).
638 664
639=item ev_loop (loop, int flags) 665=item ev_loop (loop, int flags)
640 666
641Finally, this is it, the event handler. This function usually is called 667Finally, this is it, the event handler. This function usually is called
642after you initialised all your watchers and you want to start handling 668after you initialised all your watchers and you want to start handling
1057integer between C<EV_MAXPRI> (default: C<2>) and C<EV_MINPRI> 1083integer between C<EV_MAXPRI> (default: C<2>) and C<EV_MINPRI>
1058(default: C<-2>). Pending watchers with higher priority will be invoked 1084(default: C<-2>). Pending watchers with higher priority will be invoked
1059before watchers with lower priority, but priority will not keep watchers 1085before watchers with lower priority, but priority will not keep watchers
1060from being executed (except for C<ev_idle> watchers). 1086from being executed (except for C<ev_idle> watchers).
1061 1087
1088See L<
1089
1062This means that priorities are I<only> used for ordering callback 1090This means that priorities are I<only> used for ordering callback
1063invocation after new events have been received. This is useful, for 1091invocation after new events have been received. This is useful, for
1064example, to reduce latency after idling, or more often, to bind two 1092example, to reduce latency after idling, or more often, to bind two
1065watchers on the same event and make sure one is called first. 1093watchers on the same event and make sure one is called first.
1066 1094
1556If the timer is started but non-repeating, stop it (as if it timed out). 1584If the timer is started but non-repeating, stop it (as if it timed out).
1557 1585
1558If the timer is repeating, either start it if necessary (with the 1586If the timer is repeating, either start it if necessary (with the
1559C<repeat> value), or reset the running timer to the C<repeat> value. 1587C<repeat> value), or reset the running timer to the C<repeat> value.
1560 1588
1561This sounds a bit complicated, see "Be smart about timeouts", above, for a 1589This sounds a bit complicated, see L<Be smart about timeouts>, above, for a
1562usage example. 1590usage example.
1563 1591
1564=item ev_tstamp repeat [read-write] 1592=item ev_tstamp repeat [read-write]
1565 1593
1566The current C<repeat> value. Will be used each time the watcher times out 1594The current C<repeat> value. Will be used each time the watcher times out

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines