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

Comparing libev/ev.pod (file contents):
Revision 1.298 by sf-exg, Sat Jul 31 23:00:11 2010 UTC vs.
Revision 1.300 by sf-exg, Sun Aug 29 16:13:12 2010 UTC

3885EV_PREPARE_ENABLE, EV_CHECK_ENABLE, EV_FORK_ENABLE, EV_SIGNAL_ENABLE, 3885EV_PREPARE_ENABLE, EV_CHECK_ENABLE, EV_FORK_ENABLE, EV_SIGNAL_ENABLE,
3886EV_ASYNC_ENABLE, EV_CHILD_ENABLE. 3886EV_ASYNC_ENABLE, EV_CHILD_ENABLE.
3887 3887
3888If undefined or defined to be C<1> (and the platform supports it), then 3888If undefined or defined to be C<1> (and the platform supports it), then
3889the respective watcher type is supported. If defined to be C<0>, then it 3889the respective watcher type is supported. If defined to be C<0>, then it
3890is not. Disabling watcher types mainly saves codesize. 3890is not. Disabling watcher types mainly saves code size.
3891 3891
3892=item EV_FEATURES 3892=item EV_FEATURES
3893 3893
3894If you need to shave off some kilobytes of code at the expense of some 3894If you need to shave off some kilobytes of code at the expense of some
3895speed (but with the full API), you can define this symbol to request 3895speed (but with the full API), you can define this symbol to request
3915 3915
3916=item C<1> - faster/larger code 3916=item C<1> - faster/larger code
3917 3917
3918Use larger code to speed up some operations. 3918Use larger code to speed up some operations.
3919 3919
3920Currently this is used to override some inlining decisions (enlarging the roughly 3920Currently this is used to override some inlining decisions (enlarging the
392130% code size on amd64. 3921code size by roughly 30% on amd64).
3922 3922
3923When optimising for size, use of compiler flags such as C<-Os> with 3923When optimising for size, use of compiler flags such as C<-Os> with
3924gcc recommended, as well as C<-DNDEBUG>, as libev contains a number of 3924gcc is recommended, as well as C<-DNDEBUG>, as libev contains a number of
3925assertions. 3925assertions.
3926 3926
3927=item C<2> - faster/larger data structures 3927=item C<2> - faster/larger data structures
3928 3928
3929Replaces the small 2-heap for timer management by a faster 4-heap, larger 3929Replaces the small 2-heap for timer management by a faster 4-heap, larger
3930hash table sizes and so on. This will usually further increase codesize 3930hash table sizes and so on. This will usually further increase code size
3931and can additionally have an effect on the size of data structures at 3931and can additionally have an effect on the size of data structures at
3932runtime. 3932runtime.
3933 3933
3934=item C<4> - full API configuration 3934=item C<4> - full API configuration
3935 3935
3972I/O watcher then might come out at only 5Kb. 3972I/O watcher then might come out at only 5Kb.
3973 3973
3974=item EV_AVOID_STDIO 3974=item EV_AVOID_STDIO
3975 3975
3976If this is set to C<1> at compiletime, then libev will avoid using stdio 3976If this is set to C<1> at compiletime, then libev will avoid using stdio
3977functions (printf, scanf, perror etc.). This will increase the codesize 3977functions (printf, scanf, perror etc.). This will increase the code size
3978somewhat, but if your program doesn't otherwise depend on stdio and your 3978somewhat, but if your program doesn't otherwise depend on stdio and your
3979libc allows it, this avoids linking in the stdio library which is quite 3979libc allows it, this avoids linking in the stdio library which is quite
3980big. 3980big.
3981 3981
3982Note that error messages might become less precise when this option is 3982Note that error messages might become less precise when this option is
4042will be C<0>. 4042will be C<0>.
4043 4043
4044=item EV_COMMON 4044=item EV_COMMON
4045 4045
4046By default, all watchers have a C<void *data> member. By redefining 4046By default, all watchers have a C<void *data> member. By redefining
4047this macro to a something else you can include more and other types of 4047this macro to something else you can include more and other types of
4048members. You have to define it each time you include one of the files, 4048members. You have to define it each time you include one of the files,
4049though, and it must be identical each time. 4049though, and it must be identical each time.
4050 4050
4051For example, the perl EV module uses something like this: 4051For example, the perl EV module uses something like this:
4052 4052
4351maintainable. 4351maintainable.
4352 4352
4353And of course, some compiler warnings are just plain stupid, or simply 4353And of course, some compiler warnings are just plain stupid, or simply
4354wrong (because they don't actually warn about the condition their message 4354wrong (because they don't actually warn about the condition their message
4355seems to warn about). For example, certain older gcc versions had some 4355seems to warn about). For example, certain older gcc versions had some
4356warnings that resulted an extreme number of false positives. These have 4356warnings that resulted in an extreme number of false positives. These have
4357been fixed, but some people still insist on making code warn-free with 4357been fixed, but some people still insist on making code warn-free with
4358such buggy versions. 4358such buggy versions.
4359 4359
4360While libev is written to generate as few warnings as possible, 4360While libev is written to generate as few warnings as possible,
4361"warn-free" code is not a goal, and it is recommended not to build libev 4361"warn-free" code is not a goal, and it is recommended not to build libev

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines