Loading...
--- /dev/null
+++ Libc/Libc-763.11/stdlib/FreeBSD/atexit.3.patch
@@ -0,0 +1,83 @@
+--- atexit.3.bsdnew 2009-11-13 14:11:47.000000000 -0800
++++ atexit.3 2009-11-13 14:11:47.000000000 -0800
+@@ -32,46 +32,69 @@
+ .\" @(#)atexit.3 8.1 (Berkeley) 6/4/93
+ .\" $FreeBSD: src/lib/libc/stdlib/atexit.3,v 1.11 2007/01/09 00:28:09 imp Exp $
+ .\"
+-.Dd September 6, 2002
++.Dd May 20, 2008
+ .Dt ATEXIT 3
+ .Os
+ .Sh NAME
+ .Nm atexit
+ .Nd register a function to be called on exit
+-.Sh LIBRARY
+-.Lb libc
+ .Sh SYNOPSIS
+ .In stdlib.h
+ .Ft int
+-.Fn atexit "void (*function)(void)"
++.Fn atexit "void (*func)(void)"
++#ifdef UNIFDEF_BLOCKS
++.Ft int
++.Fn atexit_b "void (^block)(void)"
++#endif
+ .Sh DESCRIPTION
+ The
+ .Fn atexit
+ function
+-registers the given
+-.Fa function
++registers the function
++.Fa func
+ to be called at program exit, whether via
+ .Xr exit 3
+ or via return from the program's
+ .Fn main .
+ Functions so registered are called in reverse order;
+ no arguments are passed.
++#ifdef UNIFDEF_BLOCKS
++.Pp
++The
++.Fn atexit_b
++function is like
++.Fn atexit
++except the callback is a block pointer instead of a function pointer.
++.Bd -ragged -offset indent
++Note: The
++.Fn Block_copy
++function (defined in
++.In Blocks.h )
++is used by
++.Fn atexit_b
++to make a copy of the block, especially for the case when a stack-based
++block might go out of scope when the subroutine returns.
++.Ed
++#endif
+ .Pp
+-These functions must not call
++These callbacks must not call
+ .Fn exit ;
+ if it should be necessary to terminate the process while in such a
+ function, the
+ .Xr _exit 2
+ function should be used.
+-(Alternatively, the function may cause abnormal
++(Alternatively, the callbacks may cause abnormal
+ process termination, for example by calling
+ .Xr abort 3 . )
+ .Pp
+-At least 32 functions can always be registered,
+-and more are allowed as long as sufficient memory can be allocated.
++At least 32 callbacks can always be registered;
++more are allowed as long as sufficient memory can be allocated.
+ .\" XXX {ATEXIT_MAX} is not implemented yet
+ .Sh RETURN VALUES
+-.Rv -std atexit
++#ifdef UNIFDEF_BLOCKS
++.ds ATEXIT_B atexit_b
++#endif
++.Rv -std atexit \*[ATEXIT_B]
+ .Sh ERRORS
+ .Bl -tag -width Er
+ .It Bq Er ENOMEM