Loading...
stdlib/FreeBSD/exit.c.patch /dev/null Libc-498.1.7
--- /dev/null
+++ Libc/Libc-498.1.7/stdlib/FreeBSD/exit.c.patch
@@ -0,0 +1,34 @@
+--- exit.c.orig	2006-08-08 16:13:56.000000000 -0700
++++ exit.c	2006-08-11 22:12:56.000000000 -0700
+@@ -44,15 +44,7 @@
+ #include "atexit.h"
+ 
+ void (*__cleanup)();
+-
+-/*
+- * This variable is zero until a process has created a thread.
+- * It is used to avoid calling locking functions in libc when they
+- * are not required. By default, libc is intended to be(come)
+- * thread-safe, but without a (significant) penalty to non-threaded
+- * processes.
+- */
+-int	__isthreaded	= 0;
++extern void __exit(int);
+ 
+ /*
+  * Exit, flushing stdio buffers if necessary.
+@@ -61,13 +53,8 @@
+ exit(status)
+ 	int status;
+ {
+-	/* Ensure that the auto-initialization routine is linked in: */
+-	extern int _thread_autoinit_dummy_decl;
+-
+-	_thread_autoinit_dummy_decl = 1;
+-
+ 	__cxa_finalize(NULL);
+ 	if (__cleanup)
+ 		(*__cleanup)();
+-	_exit(status);
++	__exit(status);
+ }