X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_memleaks.3x.html;h=7ac7342bf57a8e4ccd15964dcfc96f80ac9b55cd;hb=c11444e368f1d5964bd0f81e6e3b0f8c8ccd09cc;hp=252a9807a6fc9e25386fc3e67078ff53d1b48230;hpb=c55d387cebf1cee4757ca2c2ef4fbeae59ee4175;p=ncurses.git diff --git a/doc/html/man/curs_memleaks.3x.html b/doc/html/man/curs_memleaks.3x.html index 252a9807..7ac7342b 100644 --- a/doc/html/man/curs_memleaks.3x.html +++ b/doc/html/man/curs_memleaks.3x.html @@ -1,6 +1,7 @@ - @@ -35,7 +36,7 @@
- _nc_freeall, _nc_free_and_exit, _nc_free_tinfo - curses memory-leak - checking + exit_curses, exit_terminfo - curses memory-leak checking
#include <curses.h> + void exit_curses(int code); - void exit_curses(int); - void exit_terminfo(int); + #include <term.h> + void exit_terminfo(int code); - /* deprecated */ + /* deprecated (intentionally not declared in curses.h or term.h) */ void _nc_freeall(void); - void _nc_free_and_exit(int); - void _nc_free_tinfo(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 + 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), 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. 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 + 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 @@ -88,18 +89,18 @@ ply exiting (with the given exit-code) is safer. _nc_free_tinfo - Use this function if only the low-level terminfo functions (and + 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 + 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 + 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 + 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. @@ -111,9 +112,23 @@ These functions are not part of X/Open Curses; nor do other implementa- tions 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). + curs_initscr(3x), curs_terminfo(3x). curses(3x).