… | |
… | |
407 | responsibility to either stop all watchers cleanly yoursef I<before> |
407 | responsibility to either stop all watchers cleanly yoursef I<before> |
408 | calling this function, or cope with the fact afterwards (which is usually |
408 | calling this function, or cope with the fact afterwards (which is usually |
409 | the easiest thing, you can just ignore the watchers and/or C<free ()> them |
409 | the easiest thing, you can just ignore the watchers and/or C<free ()> them |
410 | for example). |
410 | for example). |
411 | |
411 | |
412 | Not that certain global state, such as signal state, will not be freed by |
412 | Note that certain global state, such as signal state, will not be freed by |
413 | this function, and related watchers (such as signal and child watchers) |
413 | this function, and related watchers (such as signal and child watchers) |
414 | would need to be stopped manually. |
414 | would need to be stopped manually. |
415 | |
415 | |
416 | In general it is not advisable to call this function except in the |
416 | In general it is not advisable to call this function except in the |
417 | rare occasion where you really need to free e.g. the signal handling |
417 | rare occasion where you really need to free e.g. the signal handling |
… | |
… | |
2445 | definition and a statement, respectively. See the F<ev.v> header file for |
2445 | definition and a statement, respectively. See the F<ev.v> header file for |
2446 | their default definitions. One possible use for overriding these is to |
2446 | their default definitions. One possible use for overriding these is to |
2447 | avoid the C<struct ev_loop *> as first argument in all cases, or to use |
2447 | avoid the C<struct ev_loop *> as first argument in all cases, or to use |
2448 | method calls instead of plain function calls in C++. |
2448 | method calls instead of plain function calls in C++. |
2449 | |
2449 | |
|
|
2450 | =head2 EXPORTED API SYMBOLS |
|
|
2451 | |
|
|
2452 | If you need to re-export the API (e.g. via a dll) and you need a list of |
|
|
2453 | exported symbols, you can use the provided F<Symbol.*> files which list |
|
|
2454 | all public symbols, one per line: |
|
|
2455 | |
|
|
2456 | Symbols.ev for libev proper |
|
|
2457 | Symbols.event for the libevent emulation |
|
|
2458 | |
|
|
2459 | This can also be used to rename all public symbols to avoid clashes with |
|
|
2460 | multiple versions of libev linked together (which is obviously bad in |
|
|
2461 | itself, but sometimes it is inconvinient to avoid this). |
|
|
2462 | |
|
|
2463 | A sed comamnd like this will create wrapper C<#define>'s that you need to |
|
|
2464 | include before including F<ev.h>: |
|
|
2465 | |
|
|
2466 | <Symbols.ev sed -e "s/.*/#define & myprefix_&/" >wrap.h |
|
|
2467 | |
|
|
2468 | This would create a file F<wrap.h> which essentially looks like this: |
|
|
2469 | |
|
|
2470 | #define ev_backend myprefix_ev_backend |
|
|
2471 | #define ev_check_start myprefix_ev_check_start |
|
|
2472 | #define ev_check_stop myprefix_ev_check_stop |
|
|
2473 | ... |
|
|
2474 | |
2450 | =head2 EXAMPLES |
2475 | =head2 EXAMPLES |
2451 | |
2476 | |
2452 | For a real-world example of a program the includes libev |
2477 | For a real-world example of a program the includes libev |
2453 | verbatim, you can have a look at the EV perl module |
2478 | verbatim, you can have a look at the EV perl module |
2454 | (L<http://software.schmorp.de/pkg/EV.html>). It has the libev files in |
2479 | (L<http://software.schmorp.de/pkg/EV.html>). It has the libev files in |