X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fhtml%2Fman%2Fcurs_memleaks.3x.html;h=5ebb8dc2290d47e3378b6376ec14fbb5d96eb160;hb=725169bda4d3b4c3fde0d4a94f76d017812c7ea6;hp=f55ca60caae13e3cfd35308d09394fe2b214a807;hpb=9f479192e3ca3413d235c66bf058f8cc63764898;p=ncurses.git diff --git a/doc/html/man/curs_memleaks.3x.html b/doc/html/man/curs_memleaks.3x.html index f55ca60c..5ebb8dc2 100644 --- a/doc/html/man/curs_memleaks.3x.html +++ b/doc/html/man/curs_memleaks.3x.html @@ -1,6 +1,6 @@
--curs_memleaks(3X) curs_memleaks(3X) +curs_memleaks(3x) Library calls curs_memleaks(3x)
- exit_curses, exit_terminfo - curses memory-leak checking + exit_curses, exit_terminfo - check for memory leaks in curses
- #include <curses.h> - void exit_curses(int code); + #include <curses.h> + void exit_curses(int code); - #include <term.h> - void exit_terminfo(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 code); - void _nc_free_tinfo(int code); + /* deprecated (intentionally not declared in curses.h or term.h) */ + void _nc_freeall(void); + 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. + 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 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. + 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_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_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 + _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 + 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. + 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 + 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. + checking, they simply call exit.
@@ -109,16 +109,30 @@
- These functions are not part of X/Open Curses; nor do other implementa- - tions of curses provide a similar feature. + 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: + + 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). + curses(3x), curs_initscr(3x), curs_terminfo(3x) - curs_memleaks(3X) +ncurses 6.4 2024-03-16 curs_memleaks(3x)