diff options
author | Yaakov Selkowitz <yselkowi@redhat.com> | 2011-05-04 15:26:22 +0400 |
---|---|---|
committer | Yaakov Selkowitz <yselkowi@redhat.com> | 2011-05-04 15:26:22 +0400 |
commit | 307b0a5d4b1801305ad4da3eb8447376d1260709 (patch) | |
tree | 9245d694c6ea3334b27bc8460086fadb43227e95 /newlib/libc/signal | |
parent | b27340db639b9639dd8dc7f328b78cb392ccc5ca (diff) |
* libc/include/signal.h (psignal): Declare.
* libc/sys/linux/psignal.c: Move from here...
* libc/signal/psignal.c: ... to here. Document.
* libc/sys/linux/Makefile.am (GENERAL_SOURCES): Move psignal.c from here...
* libc/signal/Makefile.am (LIB_SOURCES): ... to here.
(CHEWOUT_FILES): Add psignal.def.
* libc/sys/linux/Makefile.in: Regenerate.
* libc/signal/Makefile.in: Ditto.
* libc/signal/signal.tex: Add references to psignal.
Diffstat (limited to 'newlib/libc/signal')
-rw-r--r-- | newlib/libc/signal/Makefile.am | 4 | ||||
-rw-r--r-- | newlib/libc/signal/Makefile.in | 15 | ||||
-rw-r--r-- | newlib/libc/signal/psignal.c | 51 | ||||
-rw-r--r-- | newlib/libc/signal/signal.tex | 4 |
4 files changed, 68 insertions, 6 deletions
diff --git a/newlib/libc/signal/Makefile.am b/newlib/libc/signal/Makefile.am index f4f5d46c2..7a7e64cbd 100644 --- a/newlib/libc/signal/Makefile.am +++ b/newlib/libc/signal/Makefile.am @@ -4,7 +4,7 @@ AUTOMAKE_OPTIONS = cygnus INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) -LIB_SOURCES = raise.c signal.c +LIB_SOURCES = psignal.c raise.c signal.c libsignal_la_LDFLAGS = -Xcompiler -nostdlib @@ -21,7 +21,7 @@ endif # USE_LIBTOOL include $(srcdir)/../../Makefile.shared -CHEWOUT_FILES = raise.def signal.def +CHEWOUT_FILES = psignal.def raise.def signal.def SUFFIXES = .def diff --git a/newlib/libc/signal/Makefile.in b/newlib/libc/signal/Makefile.in index bd3a8d57e..3581678ad 100644 --- a/newlib/libc/signal/Makefile.in +++ b/newlib/libc/signal/Makefile.in @@ -55,12 +55,13 @@ LIBRARIES = $(noinst_LIBRARIES) ARFLAGS = cru lib_a_AR = $(AR) $(ARFLAGS) lib_a_LIBADD = -am__objects_1 = lib_a-raise.$(OBJEXT) lib_a-signal.$(OBJEXT) +am__objects_1 = lib_a-psignal.$(OBJEXT) lib_a-raise.$(OBJEXT) \ + lib_a-signal.$(OBJEXT) @USE_LIBTOOL_FALSE@am_lib_a_OBJECTS = $(am__objects_1) lib_a_OBJECTS = $(am_lib_a_OBJECTS) LTLIBRARIES = $(noinst_LTLIBRARIES) libsignal_la_LIBADD = -am__objects_2 = raise.lo signal.lo +am__objects_2 = psignal.lo raise.lo signal.lo @USE_LIBTOOL_TRUE@am_libsignal_la_OBJECTS = $(am__objects_2) libsignal_la_OBJECTS = $(am_libsignal_la_OBJECTS) libsignal_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ @@ -228,7 +229,7 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = cygnus INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) -LIB_SOURCES = raise.c signal.c +LIB_SOURCES = psignal.c raise.c signal.c libsignal_la_LDFLAGS = -Xcompiler -nostdlib @USE_LIBTOOL_TRUE@noinst_LTLIBRARIES = libsignal.la @USE_LIBTOOL_TRUE@libsignal_la_SOURCES = $(LIB_SOURCES) @@ -237,7 +238,7 @@ libsignal_la_LDFLAGS = -Xcompiler -nostdlib @USE_LIBTOOL_FALSE@noinst_LIBRARIES = lib.a @USE_LIBTOOL_FALSE@lib_a_SOURCES = $(LIB_SOURCES) @USE_LIBTOOL_FALSE@lib_a_CFLAGS = $(AM_CFLAGS) -CHEWOUT_FILES = raise.def signal.def +CHEWOUT_FILES = psignal.def raise.def signal.def SUFFIXES = .def CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str TARGETDOC = ../tmp.texi @@ -310,6 +311,12 @@ distclean-compile: .c.lo: $(LTCOMPILE) -c -o $@ $< +lib_a-psignal.o: psignal.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-psignal.o `test -f 'psignal.c' || echo '$(srcdir)/'`psignal.c + +lib_a-psignal.obj: psignal.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-psignal.obj `if test -f 'psignal.c'; then $(CYGPATH_W) 'psignal.c'; else $(CYGPATH_W) '$(srcdir)/psignal.c'; fi` + lib_a-raise.o: raise.c $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-raise.o `test -f 'raise.c' || echo '$(srcdir)/'`raise.c diff --git a/newlib/libc/signal/psignal.c b/newlib/libc/signal/psignal.c new file mode 100644 index 000000000..4638518da --- /dev/null +++ b/newlib/libc/signal/psignal.c @@ -0,0 +1,51 @@ +/* Copyright 2002, 2011 Red Hat Inc. */ +/* +FUNCTION +<<psignal>>---print a signal message on standard error + +INDEX + psignal + +ANSI_SYNOPSIS + #include <stdio.h> + void psignal(int <[signal]>, const char *<[prefix]>); + +TRAD_SYNOPSIS + #include <stdio.h> + void psignal(<[signal]>, <[prefix]>) + int <[signal]>; + const char *<[prefix]>; + +DESCRIPTION +Use <<psignal>> to print (on standard error) a signal message +corresponding to the value of the signal number <[signal]>. +Unless you use <<NULL>> as the value of the argument <[prefix]>, the +signal message will begin with the string at <[prefix]>, followed by a +colon and a space (<<: >>). The remainder of the signal message is one +of the strings described for <<strsignal>>. + +RETURNS +<<psignal>> returns no result. + +PORTABILITY +POSIX.1-2008 requires <<psignal>>, but the strings issued vary from one +implementation to another. + +Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>, +<<lseek>>, <<read>>, <<sbrk>>, <<write>>. +*/ + +#include <_ansi.h> +#include <stdio.h> +#include <string.h> + +_VOID +_DEFUN(psignal, (sig, s), + int sig _AND + _CONST char *s) +{ + if (s != NULL && *s != '\0') + fprintf (stderr, "%s: %s\n", s, strsignal (sig)); + else + fprintf (stderr, "%s\n", strsignal (sig)); +} diff --git a/newlib/libc/signal/signal.tex b/newlib/libc/signal/signal.tex index 08c15bed8..b36deb968 100644 --- a/newlib/libc/signal/signal.tex +++ b/newlib/libc/signal/signal.tex @@ -59,11 +59,15 @@ they may store a signal value. (Static storage is not otherwise reliable from signal handlers.) @menu +* psignal:: Print a signal message to standard error * raise:: Send a signal * signal:: Specify handler subroutine for a signal @end menu @page +@include signal/psignal.def + +@page @include signal/raise.def @page |