… | |
… | |
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="Wed Nov 28 12:31:29 2007" /> |
9 | <meta name="created" content="Wed Nov 28 19:29:25 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 --> |
… | |
… | |
230 | might be supported on the current system, you would need to look at |
230 | might be supported on the current system, you would need to look at |
231 | <code>ev_embeddable_backends () & ev_supported_backends ()</code>, likewise for |
231 | <code>ev_embeddable_backends () & ev_supported_backends ()</code>, likewise for |
232 | recommended ones.</p> |
232 | recommended ones.</p> |
233 | <p>See the description of <code>ev_embed</code> watchers for more info.</p> |
233 | <p>See the description of <code>ev_embed</code> watchers for more info.</p> |
234 | </dd> |
234 | </dd> |
235 | <dt>ev_set_allocator (void *(*cb)(void *ptr, size_t size))</dt> |
235 | <dt>ev_set_allocator (void *(*cb)(void *ptr, long size))</dt> |
236 | <dd> |
236 | <dd> |
237 | <p>Sets the allocation function to use (the prototype and semantics are |
237 | <p>Sets the allocation function to use (the prototype is similar - the |
238 | identical to the realloc C function). It is used to allocate and free |
238 | semantics is identical - to the realloc C function). It is used to |
239 | memory (no surprises here). If it returns zero when memory needs to be |
239 | allocate and free memory (no surprises here). If it returns zero when |
240 | allocated, the library might abort or take some potentially destructive |
240 | memory needs to be allocated, the library might abort or take some |
241 | action. The default is your system realloc function.</p> |
241 | potentially destructive action. The default is your system realloc |
|
|
242 | function.</p> |
242 | <p>You could override this function in high-availability programs to, say, |
243 | <p>You could override this function in high-availability programs to, say, |
243 | free some memory if it cannot allocate memory, to use a special allocator, |
244 | free some memory if it cannot allocate memory, to use a special allocator, |
244 | or even to sleep a while and retry until some memory is available.</p> |
245 | or even to sleep a while and retry until some memory is available.</p> |
245 | <p>Example: Replace the libev allocator with one that waits a bit and then |
246 | <p>Example: Replace the libev allocator with one that waits a bit and then |
246 | retries).</p> |
247 | retries).</p> |
… | |
… | |
1247 | <p>The path does not need to exist: changing from "path exists" to "path does |
1248 | <p>The path does not need to exist: changing from "path exists" to "path does |
1248 | not exist" is a status change like any other. The condition "path does |
1249 | not exist" is a status change like any other. The condition "path does |
1249 | not exist" is signified by the <code>st_nlink</code> field being zero (which is |
1250 | not exist" is signified by the <code>st_nlink</code> field being zero (which is |
1250 | otherwise always forced to be at least one) and all the other fields of |
1251 | otherwise always forced to be at least one) and all the other fields of |
1251 | the stat buffer having unspecified contents.</p> |
1252 | the stat buffer having unspecified contents.</p> |
|
|
1253 | <p>The path <i>should</i> be absolute and <i>must not</i> end in a slash. If it is |
|
|
1254 | relative and your working directory changes, the behaviour is undefined.</p> |
1252 | <p>Since there is no standard to do this, the portable implementation simply |
1255 | <p>Since there is no standard to do this, the portable implementation simply |
1253 | calls <code>stat (2)</code> regularly on the path to see if it changed somehow. You |
1256 | calls <code>stat (2)</code> regularly on the path to see if it changed somehow. You |
1254 | can specify a recommended polling interval for this case. If you specify |
1257 | can specify a recommended polling interval for this case. If you specify |
1255 | a polling interval of <code>0</code> (highly recommended!) then a <i>suitable, |
1258 | a polling interval of <code>0</code> (highly recommended!) then a <i>suitable, |
1256 | unspecified default</i> value will be used (which you can expect to be around |
1259 | unspecified default</i> value will be used (which you can expect to be around |