… | |
… | |
4 | <head> |
4 | <head> |
5 | <title>libev</title> |
5 | <title>libev</title> |
6 | <meta name="description" content="Pod documentation for libev" /> |
6 | <meta name="description" content="Pod documentation for libev" /> |
7 | <meta name="inputfile" content="<standard input>" /> |
7 | <meta name="inputfile" content="<standard input>" /> |
8 | <meta name="outputfile" content="<standard output>" /> |
8 | <meta name="outputfile" content="<standard output>" /> |
9 | <meta name="created" content="Mon Nov 12 09:47:14 2007" /> |
9 | <meta name="created" content="Mon Nov 12 09:57:02 2007" /> |
10 | <meta name="generator" content="Pod::Xhtml 1.57" /> |
10 | <meta name="generator" content="Pod::Xhtml 1.57" /> |
11 | <link rel="stylesheet" href="http://res.tst.eu/pod.css"/></head> |
11 | <link rel="stylesheet" href="http://res.tst.eu/pod.css"/></head> |
12 | <body> |
12 | <body> |
13 | <div class="pod"> |
13 | <div class="pod"> |
14 | <!-- INDEX START --> |
14 | <!-- INDEX START --> |
… | |
… | |
17 | <ul><li><a href="#NAME">NAME</a></li> |
17 | <ul><li><a href="#NAME">NAME</a></li> |
18 | <li><a href="#SYNOPSIS">SYNOPSIS</a></li> |
18 | <li><a href="#SYNOPSIS">SYNOPSIS</a></li> |
19 | <li><a href="#DESCRIPTION">DESCRIPTION</a></li> |
19 | <li><a href="#DESCRIPTION">DESCRIPTION</a></li> |
20 | <li><a href="#FEATURES">FEATURES</a></li> |
20 | <li><a href="#FEATURES">FEATURES</a></li> |
21 | <li><a href="#CONVENTIONS">CONVENTIONS</a></li> |
21 | <li><a href="#CONVENTIONS">CONVENTIONS</a></li> |
|
|
22 | <li><a href="#TIME_REPRESENTATION">TIME REPRESENTATION</a></li> |
22 | <li><a href="#TIME_AND_OTHER_GLOBAL_FUNCTIONS">TIME AND OTHER GLOBAL FUNCTIONS</a></li> |
23 | <li><a href="#GLOBAL_FUNCTIONS">GLOBAL FUNCTIONS</a></li> |
23 | <li><a href="#FUNCTIONS_CONTROLLING_THE_EVENT_LOOP">FUNCTIONS CONTROLLING THE EVENT LOOP</a></li> |
24 | <li><a href="#FUNCTIONS_CONTROLLING_THE_EVENT_LOOP">FUNCTIONS CONTROLLING THE EVENT LOOP</a></li> |
24 | <li><a href="#ANATOMY_OF_A_WATCHER">ANATOMY OF A WATCHER</a> |
25 | <li><a href="#ANATOMY_OF_A_WATCHER">ANATOMY OF A WATCHER</a> |
25 | <ul><li><a href="#ASSOCIATING_CUSTOM_DATA_WITH_A_WATCH">ASSOCIATING CUSTOM DATA WITH A WATCHER</a></li> |
26 | <ul><li><a href="#ASSOCIATING_CUSTOM_DATA_WITH_A_WATCH">ASSOCIATING CUSTOM DATA WITH A WATCHER</a></li> |
26 | </ul> |
27 | </ul> |
27 | </li> |
28 | </li> |
… | |
… | |
87 | support for multiple event loops, then all functions taking an initial |
88 | support for multiple event loops, then all functions taking an initial |
88 | argument of name <code>loop</code> (which is always of type <code>struct ev_loop *</code>) |
89 | argument of name <code>loop</code> (which is always of type <code>struct ev_loop *</code>) |
89 | will not have this argument.</p> |
90 | will not have this argument.</p> |
90 | |
91 | |
91 | </div> |
92 | </div> |
92 | <h1 id="TIME_AND_OTHER_GLOBAL_FUNCTIONS">TIME AND OTHER GLOBAL FUNCTIONS</h1><p><a href="#TOP" class="toplink">Top</a></p> |
93 | <h1 id="TIME_REPRESENTATION">TIME REPRESENTATION</h1><p><a href="#TOP" class="toplink">Top</a></p> |
93 | <div id="TIME_AND_OTHER_GLOBAL_FUNCTIONS_CONT"> |
94 | <div id="TIME_REPRESENTATION_CONTENT"> |
94 | <p>Libev represents time as a single floating point number, representing the |
95 | <p>Libev represents time as a single floating point number, representing the |
95 | (fractional) number of seconds since the (POSIX) epoch (somewhere near |
96 | (fractional) number of seconds since the (POSIX) epoch (somewhere near |
96 | the beginning of 1970, details are complicated, don't ask). This type is |
97 | the beginning of 1970, details are complicated, don't ask). This type is |
97 | called <code>ev_tstamp</code>, which is what you should use too. It usually aliases |
98 | called <code>ev_tstamp</code>, which is what you should use too. It usually aliases |
98 | to the double type in C.</p> |
99 | to the double type in C.</p> |
|
|
100 | |
|
|
101 | </div> |
|
|
102 | <h1 id="GLOBAL_FUNCTIONS">GLOBAL FUNCTIONS</h1><p><a href="#TOP" class="toplink">Top</a></p> |
|
|
103 | <div id="GLOBAL_FUNCTIONS_CONTENT"> |
99 | <dl> |
104 | <dl> |
100 | <dt>ev_tstamp ev_time ()</dt> |
105 | <dt>ev_tstamp ev_time ()</dt> |
101 | <dd> |
106 | <dd> |
102 | <p>Returns the current time as libev would use it.</p> |
107 | <p>Returns the current time as libev would use it.</p> |
103 | </dd> |
108 | </dd> |
… | |
… | |
142 | <div id="FUNCTIONS_CONTROLLING_THE_EVENT_LOOP-2"> |
147 | <div id="FUNCTIONS_CONTROLLING_THE_EVENT_LOOP-2"> |
143 | <p>An event loop is described by a <code>struct ev_loop *</code>. The library knows two |
148 | <p>An event loop is described by a <code>struct ev_loop *</code>. The library knows two |
144 | types of such loops, the <i>default</i> loop, which supports signals and child |
149 | types of such loops, the <i>default</i> loop, which supports signals and child |
145 | events, and dynamically created loops which do not.</p> |
150 | events, and dynamically created loops which do not.</p> |
146 | <p>If you use threads, a common model is to run the default event loop |
151 | <p>If you use threads, a common model is to run the default event loop |
147 | in your main thread (or in a separate thrad) and for each thread you |
152 | in your main thread (or in a separate thread) and for each thread you |
148 | create, you also create another event loop. Libev itself does no locking |
153 | create, you also create another event loop. Libev itself does no locking |
149 | whatsoever, so if you mix calls to the same event loop in different |
154 | whatsoever, so if you mix calls to the same event loop in different |
150 | threads, make sure you lock (this is usually a bad idea, though, even if |
155 | threads, make sure you lock (this is usually a bad idea, though, even if |
151 | done correctly, because it's hideous and inefficient).</p> |
156 | done correctly, because it's hideous and inefficient).</p> |
152 | <dl> |
157 | <dl> |