evecv/memory leak
- From: "bill pursell" <bill.pursell@xxxxxxxxx>
- Date: 27 Dec 2005 14:30:58 -0800
I am (with extreme reluctance) using a 3rd party kernel module that I
do not trust. At the moment, I'm having difficulty with a process that
looks like:
while(1) {
process_stuff(); /* This only returns on error.*/
clean_up();
}
The clean_up() routine calls several proprietary free() type
calls, and I simply don't think they are doing the right thing.
clean_up() seems to work only about 75% of the time, and since
process_stuff() returns about every 24 hours, the process is
in a bad state after 3 or 4 days. Once clean_up() fails once,
proces_stuff() starts returning immediately, and
it never recovers. I kill the process and start another instance.
I was thinking of replacing clean_up() with an exec that simply
calls itself. ie, the program will now look like:
int
main(int ac, char **av)
{
process_stuff();
execv(av[0],av);
}
The question is: is this identical to killing the process and
restarting? Basically, I'm trying to avoid using the proprietary
free() calls...does this accomplish that safely?
.
- Follow-Ups:
- Re: evecv/memory leak
- From: David Schwartz
- Re: evecv/memory leak
- From: John Reiser
- Re: evecv/memory leak
- Prev by Date: Re: Newbie - Shared library
- Next by Date: Re: evecv/memory leak
- Previous by thread: Doug Engelbart 5-key chord keyboard emulator
- Next by thread: Re: evecv/memory leak
- Index(es):