view modules/signal @ 11424:2b94c0e7849d

signal.h: always support 'volatile sig_atomic_t' * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation. (gl_SIGNAL_H_DEFAULTS): Add a default. * modules/signal (Makefile.am): Substitute if needed. * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that users can blindly add volatile. * doc/posix-headers/signal.texi (signal.h): Document it. Reported by Matthew Woehlke. Signed-off-by: Eric Blake <ebb9@byu.net>
author Eric Blake <ebb9@byu.net>
date Sat, 21 Mar 2009 17:57:40 -0600
parents 27a1858c4c79
children 67c2b22aff08
line wrap: on
line source

Description:
A GNU-like <signal.h>.

Files:
lib/signal.in.h
m4/signal_h.m4

Depends-on:
include_next
link-warning

configure.ac:
gl_SIGNAL_H

Makefile.am:
BUILT_SOURCES += signal.h

# We need the following in order to create <signal.h> when the system
# doesn't have a complete one.
signal.h: signal.in.h
	rm -f $@-t $@
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
	  sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''NEXT_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \
	      -e 's|@''GNULIB_SIGNAL_H_SIGPIPE''@|$(GNULIB_SIGNAL_H_SIGPIPE)|g' \
	      -e 's|@''GNULIB_SIGPROCMASK''@|$(GNULIB_SIGPROCMASK)|g' \
	      -e 's|@''GNULIB_SIGACTION''@|$(GNULIB_SIGACTION)|g' \
	      -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \
	      -e 's|@''HAVE_SIGSET_T''@|$(HAVE_SIGSET_T)|g' \
	      -e 's|@''HAVE_SIGINFO_T''@|$(HAVE_SIGINFO_T)|g' \
	      -e 's|@''HAVE_SIGACTION''@|$(HAVE_SIGACTION)|g' \
	      -e 's|@''HAVE_STRUCT_SIGACTION_SA_SIGACTION''@|$(HAVE_STRUCT_SIGACTION_SA_SIGACTION)|g' \
	      -e 's|@''HAVE_TYPE_VOLATILE_SIG_ATOMIC_T''@|$(HAVE_TYPE_VOLATILE_SIG_ATOMIC_T)|g' \
	      -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
	      < $(srcdir)/signal.in.h; \
	} > $@-t
	mv $@-t $@
MOSTLYCLEANFILES += signal.h signal.h-t

Include:
#include <signal.h>

License:
LGPLv2+

Maintainer:
all