X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_memleaks.3x.html;h=543d40a735fa0d461fa5de78757e71dc2889fa1e;hb=74433bcf4f6fe40862a28f3c00edaedcd5054b01;hp=19ed239ea5cc43c5fd9037ab9ab43992ada69db5;hpb=ed646e3f683083e787c6ba773364401dc9fa9d40;p=ncurses.git diff --git a/doc/html/man/curs_memleaks.3x.html b/doc/html/man/curs_memleaks.3x.html index 19ed239e..543d40a7 100644 --- a/doc/html/man/curs_memleaks.3x.html +++ b/doc/html/man/curs_memleaks.3x.html @@ -1,6 +1,7 @@ -
- +- _nc_freeall _nc_free_and_exit - curses memory-leak checking + exit_curses, exit_terminfo - curses memory-leak checking
#include <curses.h> + void exit_curses(int code); + + #include <term.h> + void exit_terminfo(int code); + /* deprecated (intentionally not declared in curses.h or term.h) */ void _nc_freeall(void); - void _nc_free_and_exit(int); + void _nc_free_and_exit(int code); + void _nc_free_tinfo(int code);
These functions are used to simplify analysis of memory leaks in the - ncurses library. They are normally not available; they must be config- - ured into the library at build time using the --disable-leaks option. - That compiles-in code that frees memory that normally would not be - freed. - - Any implementation of curses must not free the memory associated with a - screen, since (even after calling endwin), it must be available for use - in the next call to refresh(3x). There are also chunks of memory held - for performance reasons. That makes it hard to analyze curses applica- - tions for memory leaks. To work around this, one can build a debugging - version of the ncurses library which frees those chunks which it can, - and provides these functions to free all of the memory allocated by the ncurses library. - The _nc_free_and_exit function is the preferred one since some of the - memory which is freed may be required for the application to continue - running. Its parameter is the code to pass to the exit routine. + Any implementation of curses must not free the memory associated with a + screen, since (even after calling endwin(3x)), it must be available for + use in the next call to refresh(3x). There are also chunks of memory + held for performance reasons. That makes it hard to analyze curses ap- + plications for memory leaks. When using the specially configured de- + bugging version of the ncurses library, applications can call functions + which free those chunks of memory, simplifying the process of memory- + leak checking. + + Some of the functions are named with a "_nc_" prefix because they are + not intended for use in the non-debugging library: + + _nc_freeall + This frees (almost) all of the memory allocated by ncurses. + + _nc_free_and_exit + This frees the memory allocated by ncurses (like _nc_freeall), and + exits the program. It is preferred over _nc_freeall since some of + that memory may be required to keep the application running. Sim- + ply exiting (with the given exit-code) is safer. + + _nc_free_tinfo + Use this function if only the low-level terminfo functions (and + corresponding library) are used. Like _nc_free_and_exit, it exits + the program after freeing memory. + + The functions prefixed "_nc" are normally not available; they must be + configured into the library at build time using the --disable-leaks op- + tion. That compiles-in code that frees memory that normally would not + be freed. + + The exit_curses and exit_terminfo functions call _nc_free_and_exit and + _nc_free_tinfo if the library is configured to support memory-leak + checking. If the library is not configured to support memory-leak + checking, they simply call exit.
@@ -82,7 +109,8 @@
- These functions are not part of the XSI interface. + These functions are not part of X/Open Curses; nor do other implementa- + tions of curses provide a similar feature.