summaryrefslogtreecommitdiffstats
path: root/lib/libc/sys
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2005-12-23 12:27:42 +0000
committerphk <phk@FreeBSD.org>2005-12-23 12:27:42 +0000
commit62bc67a6199ae9362a25f9e214379f6da87c3067 (patch)
tree1edcee4f34603fccbd83df6f84592e63624b6bf5 /lib/libc/sys
parent27cafa93c31a9dced315e098f13fd378ebe5f063 (diff)
downloadFreeBSD-src-62bc67a6199ae9362a25f9e214379f6da87c3067.zip
FreeBSD-src-62bc67a6199ae9362a25f9e214379f6da87c3067.tar.gz
Add abort2 manual page.
Submitted by: "Wojciech A. Koszek" <dunstan@freebsd.czest.pl> Edited by: phk
Diffstat (limited to 'lib/libc/sys')
-rw-r--r--lib/libc/sys/Makefile.inc2
-rw-r--r--lib/libc/sys/abort2.299
2 files changed, 100 insertions, 1 deletions
diff --git a/lib/libc/sys/Makefile.inc b/lib/libc/sys/Makefile.inc
index 93c088f..ada2172 100644
--- a/lib/libc/sys/Makefile.inc
+++ b/lib/libc/sys/Makefile.inc
@@ -53,7 +53,7 @@ ${SPSEUDO}:
printf '#include "SYS.h"\nPSEUDO(${.PREFIX:S/_//})\n' \
> ${.TARGET}
-MAN+= _exit.2 accept.2 access.2 acct.2 adjtime.2 \
+MAN+= _exit.2 abort2.2 accept.2 access.2 acct.2 adjtime.2 \
aio_cancel.2 aio_error.2 aio_read.2 aio_return.2 \
aio_suspend.2 aio_waitcomplete.2 aio_write.2 \
bind.2 brk.2 chdir.2 chflags.2 \
diff --git a/lib/libc/sys/abort2.2 b/lib/libc/sys/abort2.2
new file mode 100644
index 0000000..5f38080
--- /dev/null
+++ b/lib/libc/sys/abort2.2
@@ -0,0 +1,99 @@
+.\" Copyright (c) 2005 Wojciech A. Koszek <dunstan@FreeBSD.czest.pl>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 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
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" 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
+.Os
+.Sh NAME
+.Nm abort2
+.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
+.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
+.Xr syslogd 8
+daemon.
+.Pp
+.Fa why
+is NULL-terminated string containing reason of program termination (max 128 char long).
+.Fa args
+contains pointers which will be logged numerically (kernels '%p'
+.Xr printf 9
+format).
+.Fa nargs
+is number of pointers in
+.Fa args ,
+(max 16).
+.Pp
+.Fn abort2
+is intended for use in situations where continuation of the process
+is impossible or for other definitive reasons unwanted, and normal
+diagnostic channels cannot be trusted to deliver the message.
+.Sh EXAMPLES
+.Bd -literal -compact
+#include <stdlib.h>
+
+if (weight_kg > max_load) {
+ void *ptrs[3];
+
+ ptrs[0] = (void*)weight_kg;
+ ptrs[1] = (void *)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
+.Sh HISTORY
+The
+.Fn abort2
+function first appeared in
+.Fx 7.0 .
+.Sh AUTHORS
+Design:
+.An "Poul-Henning Kamp" Aq phk@FreeBSD.org .
+Implementation:
+.An "Wojciech A. Koszek" Aq dunstan@freebsd.czest.pl .
OpenPOWER on IntegriCloud