Subject: CVS commit: src/lib/libc/stdlib
To: None <source-changes@NetBSD.org>
From: Krister Walfridsson <kristerw@netbsd.org>
List: source-changes
Date: 08/08/2007 00:51:18
Module Name:	src
Committed By:	kristerw
Date:		Wed Aug  8 00:51:18 UTC 2007

Modified Files:
	src/lib/libc/stdlib: atexit.c

Log Message:
Ensure that the struct atexit_handler has been removed from the list
of pending atexit handlers before the structure is reused.  This prevents
__cxa_finalize from going into an infinite loop when an atexit handler
register a new atexit handler as in:

   #include <stdlib.h>

   void two(void) {
   }

   void one(void) {
           atexit(two);
   }

   int main(void) {
           atexit(one);
           return 0;
   }


To generate a diff of this commit:
cvs rdiff -r1.17 -r1.18 src/lib/libc/stdlib/atexit.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.