70 lines
3.6 KiB
Plaintext
70 lines
3.6 KiB
Plaintext
.\"***************************************************************************
|
|
.\" Copyright (c) 2008,2010 Free Software Foundation, Inc. *
|
|
.\" *
|
|
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
|
.\" copy of this software and associated documentation files (the *
|
|
.\" "Software"), to deal in the Software without restriction, including *
|
|
.\" without limitation the rights to use, copy, modify, merge, publish, *
|
|
.\" distribute, distribute with modifications, sublicense, and/or sell *
|
|
.\" copies of the Software, and to permit persons to whom the Software is *
|
|
.\" furnished to do so, subject to the following conditions: *
|
|
.\" *
|
|
.\" The above copyright notice and this permission notice shall be included *
|
|
.\" in all copies or substantial portions of the Software. *
|
|
.\" *
|
|
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
|
|
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
|
|
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
|
|
.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
|
|
.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
|
|
.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
|
|
.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
|
|
.\" *
|
|
.\" Except as contained in this notice, the name(s) of the above copyright *
|
|
.\" holders shall not be used in advertising or otherwise to promote the *
|
|
.\" sale, use or other dealings in this Software without prior written *
|
|
.\" authorization. *
|
|
.\"***************************************************************************
|
|
.\"
|
|
.\" $Id: curs_memleaks.3x,v 1.3 2010/12/04 18:40:45 tom Exp $
|
|
.TH curs_memleaks 3X ""
|
|
.na
|
|
.hy 0
|
|
.SH NAME
|
|
\fB_nc_freeall\fP
|
|
\fB_nc_free_and_exit\fP \- \fBcurses\fR memory-leak checking
|
|
.ad
|
|
.hy
|
|
.SH SYNOPSIS
|
|
\fB#include <curses.h>\fR
|
|
.sp
|
|
\fBvoid _nc_freeall(void);\fR
|
|
.br
|
|
\fBvoid _nc_free_and_exit(int);\fR
|
|
.SH DESCRIPTION
|
|
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 \fB\-\-disable-leaks\fP option.
|
|
That compiles-in code that frees memory that normally would not be freed.
|
|
.PP
|
|
Any implementation of curses must not free the memory associated with
|
|
a screen, since (even after calling \fBendwin\fP), it must be available
|
|
for use in the next call to \fBrefresh\fP.
|
|
There are also chunks of memory held for performance reasons.
|
|
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.
|
|
.PP
|
|
The \fP_nc_free_and_exit\fP 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 \fPexit\fP routine.
|
|
.SH RETURN VALUE
|
|
These functions do not return a value.
|
|
.SH PORTABILITY
|
|
These functions are not part of the XSI interface.
|
|
.SH SEE ALSO
|
|
\fBcurses\fR(3X).
|