ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/EV/EV.pm
(Generate patch)

Comparing EV/EV.pm (file contents):
Revision 1.108 by root, Mon Nov 3 12:13:15 2008 UTC vs.
Revision 1.115 by root, Tue Apr 28 00:50:56 2009 UTC

80 80
81no warnings; 81no warnings;
82use strict; 82use strict;
83 83
84BEGIN { 84BEGIN {
85 our $VERSION = '3.48'; 85 our $VERSION = '3.6';
86 use XSLoader; 86 use XSLoader;
87 XSLoader::load "EV", $VERSION; 87 XSLoader::load "EV", $VERSION;
88} 88}
89 89
90@EV::IO::ISA = 90@EV::IO::ISA =
125will then also service the kqueue loop to some extent. See the example in 125will then also service the kqueue loop to some extent. See the example in
126the section about embed watchers for an example on how to achieve that. 126the section about embed watchers for an example on how to achieve that.
127 127
128=over 4 128=over 4
129 129
130=item $loop = new EV::loop [$flags] 130=item $loop = new EV::Loop [$flags]
131 131
132Create a new event loop as per the specified flags. Please refer to 132Create a new event loop as per the specified flags. Please refer to
133the C<ev_loop_new ()> function description in the libev documentation 133the C<ev_loop_new ()> function description in the libev documentation
134(L<http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#GLOBAL_FUNCTIONS>, 134(L<http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#GLOBAL_FUNCTIONS>,
135or locally-installed as F<EV::libev> manpage) for more info. 135or locally-installed as F<EV::libev> manpage) for more info.
201=item $time = $loop->now 201=item $time = $loop->now
202 202
203Returns the time the last event loop iteration has been started. This 203Returns the time the last event loop iteration has been started. This
204is the time that (relative) timers are based on, and referring to it is 204is the time that (relative) timers are based on, and referring to it is
205usually faster then calling EV::time. 205usually faster then calling EV::time.
206
207=item EV::now_update
208
209=item $loop->now_update
210
211Establishes the current time by querying the kernel, updating the time
212returned by C<EV::now> in the progress. This is a costly operation and
213is usually done automatically within C<EV::loop>.
214
215This function is rarely useful, but when some event callback runs for a
216very long time without entering the event loop, updating libev's idea of
217the current time is a good idea.
218
219=item EV::suspend
220
221=item $loop->suspend
222
223=item EV::resume
224
225=item $loop->resume
226
227These two functions suspend and resume a loop, for use when the loop is
228not used for a while and timeouts should not be processed.
229
230A typical use case would be an interactive program such as a game: When
231the user presses C<^Z> to suspend the game and resumes it an hour later it
232would be best to handle timeouts as if no time had actually passed while
233the program was suspended. This can be achieved by calling C<suspend>
234in your C<SIGTSTP> handler, sending yourself a C<SIGSTOP> and calling
235C<resume> directly afterwards to resume timer processing.
236
237Effectively, all C<timer> watchers will be delayed by the time spend
238between C<suspend> and C<resume>, and all C<periodic> watchers
239will be rescheduled (that is, they will lose any events that would have
240occured while suspended).
241
242After calling C<suspend> you B<must not> call I<any> function on the given
243loop other than C<resume>, and you B<must not> call C<resume>
244without a previous call to C<suspend>.
245
246Calling C<suspend>/C<resume> has the side effect of updating the event
247loop time (see C<now_update>).
206 248
207=item $backend = EV::backend 249=item $backend = EV::backend
208 250
209=item $backend = $loop->backend 251=item $backend = $loop->backend
210 252

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines