Loading...
--- Libc/Libc-763.13/stdlib/FreeBSD/exit.c.patch
+++ Libc/Libc-320/stdlib/FreeBSD/exit.c.patch
@@ -1,11 +1,9 @@
---- 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"
+--- exit.c.orig Mon Apr 28 16:37:26 2003
++++ exit.c Sat May 3 14:28:31 2003
+@@ -46,15 +46,6 @@
+ void (*__cleanup)();
- 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)
@@ -13,22 +11,20 @@
- * processes.
- */
-int __isthreaded = 0;
-+extern void __exit(int);
-
- /*
+-
+-/*
* Exit, flushing stdio buffers if necessary.
-@@ -59,13 +51,8 @@ void
- exit(status)
- int status;
+ */
+ void
+@@ -63,11 +54,6 @@
{
+ struct atexit *p;
+ int n;
+-
- /* 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);
- }
+
+ for (p = __atexit; p; p = p->next)
+ for (n = p->ind; --n >= 0;)