--- libev/ev.pod 2008/05/19 13:48:20 1.155 +++ libev/ev.pod 2008/05/20 20:00:34 1.156 @@ -3354,6 +3354,32 @@ If you know of other additional requirements drop me a note. +=head1 VALGRIND + +Valgrind has a special section here because it is a popular tool that is +highly useful, but valgrind reports are very hard to interpret. + +If you think you found a bug (memory leak, uninitialised data access etc.) +in libev, then check twice: If valgrind reports something like: + + ==2274== definitely lost: 0 bytes in 0 blocks. + ==2274== possibly lost: 0 bytes in 0 blocks. + ==2274== still reachable: 256 bytes in 1 blocks. + +then there is no memory leak. Similarly, under some circumstances, +valgrind might report kernel bugs as if it were a bug in libev, or it +might be confused (it is a very good tool, but only a tool). + +If you are unsure about something, feel free to contact the mailing list +with the full valgrind report and an explanation on why you think this is +a bug in libev. However, don't be annoyed when you get a brisk "this is +no bug" answer and take the chance of learning how to interpret valgrind +properly. + +If you need, for some reason, empty reports from valgrind for your project +I suggest using suppression lists. + + =head1 AUTHOR Marc Lehmann .