X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_memleaks.3x.html;h=62f03549d12f2ae9745e727d133a9ff3d9231b91;hp=7b3d8e162e1f22ce92cb440328e40139c81792d9;hb=HEAD;hpb=761e4f0825b330e970558e82a4bd638383914429 diff --git a/doc/html/man/curs_memleaks.3x.html b/doc/html/man/curs_memleaks.3x.html index 7b3d8e16..085e3aba 100644 --- a/doc/html/man/curs_memleaks.3x.html +++ b/doc/html/man/curs_memleaks.3x.html @@ -1,7 +1,7 @@ - - +
-- -curs_memleaks(3x) curs_memleaks(3x) +curs_memleaks(3x) Library calls curs_memleaks(3x) --
- _nc_freeall _nc_free_and_exit - curses memory-leak - checking +
+ exit_curses, exit_terminfo - check for memory leaks in curses --
+
#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 configured into the library at - build time using the --disable-leaks option. That com- - piles-in code that frees memory that normally would not be - freed. - - Any implementation of curses must not free the memory as- - sociated with a screen, since (even after calling endwin), - it must be available for use in the next call to refresh. - There are also chunks of memory held for performance rea- - sons. That makes it hard to analyze curses applications - 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. +
+ These functions are used to simplify analysis of memory leaks in the + ncurses library. + 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 + applications for memory leaks. When using the specially configured + debugging 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. + Simply 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 + option. 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. + + +
These functions do not return a value. --
- These functions are not part of the XSI interface. +
+ These functions are not part of X/Open Curses; nor do other + implementations of curses provide a similar feature. + In any implementation of X/Open Curses, an application can free part of + the memory allocated by curses: --
- curses(3x). + o The portable part of exit_curses can be freed using delscreen, + passing the SCREEN pointer returned by newterm. + + In some implementations, there is a global variable sp which could + be used, e.g., if the screen were only initialized using initscr. + + o The portable part of exit_terminfo can be freed using del_curterm. + + In this case, there is a global variable cur_term which can be used + as parameter. + + +
+ curses(3x), curs_initscr(3x), curs_terminfo(3x) - curs_memleaks(3x) +ncurses 6.5 2024-03-16 curs_memleaks(3x)-