Loading...
stdlib/FreeBSD/exit.c.patch /dev/null Libc-763.12
--- /dev/null
+++ Libc/Libc-763.12/stdlib/FreeBSD/exit.c.patch
@@ -0,0 +1,34 @@
+--- exit.c.bsdnew	2009-11-13 14:11:48.000000000 -0800
++++ exit.c	2009-11-13 14:47:07.000000000 -0800
+@@ -42,15 +42,7 @@ __FBSDID("$FreeBSD: src/lib/libc/stdlib/
+ #include "libc_private.h"
+ 
+ void (*__cleanup)(void);
+-
+-/*
+- * 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.
+@@ -59,13 +51,8 @@ void
+ 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);
+ }