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 @@ - - + curs_memleaks 3x - - + +

curs_memleaks 3x

@@ -46,35 +47,61 @@

NAME

-       _nc_freeall _nc_free_and_exit - curses memory-leak checking
+       exit_curses, exit_terminfo - curses memory-leak checking
 
 
 

SYNOPSIS

        #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);
 
 
 

DESCRIPTION

        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.
 
 
 

RETURN VALUE

@@ -82,7 +109,8 @@
 
 
 

PORTABILITY

-       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.
 
 
 

SEE ALSO