diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libc/sys/abort2.2 | 84 |
1 files changed, 49 insertions, 35 deletions
diff --git a/lib/libc/sys/abort2.2 b/lib/libc/sys/abort2.2 index 5f38080..4698c72 100644 --- a/lib/libc/sys/abort2.2 +++ b/lib/libc/sys/abort2.2 @@ -9,7 +9,7 @@ .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. -.\" +.\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -21,47 +21,67 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. -.\" +.\" .\" $FreeBSD$ -.Dd December 23, 2005 -.Dt ABORT2 3 +.\" +.Dd September 30, 2006 +.Dt ABORT2 2 .Os .Sh NAME .Nm abort2 -.Nd abort process with diagnostics. +.Nd "abort process with diagnostics" .Sh LIBRARY .Lb libc .Sh SYNOPSIS .In stdlib.h .Ft void -.Fo abort2 -.Fa "char *why" -.Fa "int argc" -.Fa "void **args" -.Fc +.Fn abort2 "const char *why" "int nargs" "void **args" .Sh DESCRIPTION The .Fn abort2 -function causes the process to be killed and the specified diagnostic -message (with arguments) is delivered by the kernel to the +system call causes the process to be killed and the specified diagnostic +message (with arguments) to be delivered by the kernel to the .Xr syslogd 8 daemon. .Pp +The .Fa why -is NULL-terminated string containing reason of program termination (max 128 char long). +argument points to a +.Dv NUL- Ns +terminated string specifying a reason of the program's termination +(maximum 128 characters long). +The .Fa args -contains pointers which will be logged numerically (kernels '%p' +array contains pointers which will be logged numerically +(with the kernel's +.Ql %p .Xr printf 9 format). +The .Fa nargs -is number of pointers in -.Fa args , -(max 16). +argument specifies the number of pointers in +.Fa args +(maximum 16). .Pp +The .Fn abort2 -is intended for use in situations where continuation of the process -is impossible or for other definitive reasons unwanted, and normal +system call +is intended for use in situations where continuation of a process +is impossible or for other definitive reasons is unwanted, and normal diagnostic channels cannot be trusted to deliver the message. +.Sh RETURN VALUES +The +.Fn abort2 +function +never returns. +.Pp +The process is killed with +.Dv SIGABRT +unless the arguments to +.Fn abort2 +are invalid, in which case +.Dv SIGKILL +is used. .Sh EXAMPLES .Bd -literal -compact #include <stdlib.h> @@ -69,31 +89,25 @@ diagnostic channels cannot be trusted to deliver the message. if (weight_kg > max_load) { void *ptrs[3]; - ptrs[0] = (void*)weight_kg; - ptrs[1] = (void *)max_load; + ptrs[0] = (void *)(intptr_t)weight_kg; + ptrs[1] = (void *)(intptr_t)max_load; ptrs[2] = haystack; abort2("Camel overloaded", 3, ptrs); } .Ed -.Sh RETURN VALUES -The -.Fn abort2 -function -never returns. -.Pp -The process is killed sith SIGABRT unless the arguments to -.Fn abort2 -are invalid, in which case SIGKILL is used. .Sh SEE ALSO -.Xr exit 3 , -.Xr abort 3 +.Xr abort 3 , +.Xr exit 3 .Sh HISTORY The .Fn abort2 -function first appeared in +system call first appeared in .Fx 7.0 . .Sh AUTHORS -Design: +.An -nosplit +The +.Fn abort2 +system call was designed by .An "Poul-Henning Kamp" Aq phk@FreeBSD.org . -Implementation: +It was implemented by .An "Wojciech A. Koszek" Aq dunstan@freebsd.czest.pl . |