summaryrefslogtreecommitdiff
path: root/lib/sig-handler.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sig-handler.h')
-rw-r--r--lib/sig-handler.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/sig-handler.h b/lib/sig-handler.h
index abb660c..67d061d 100644
--- a/lib/sig-handler.h
+++ b/lib/sig-handler.h
@@ -1,6 +1,6 @@
/* Convenience declarations when working with <signal.h>.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,13 +20,21 @@
#include <signal.h>
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
+_GL_INLINE_HEADER_BEGIN
+#ifndef SIG_HANDLER_INLINE
+# define SIG_HANDLER_INLINE _GL_INLINE
+#endif
+
/* Convenience type when working with signal handlers. */
typedef void (*sa_handler_t) (int);
/* Return the handler of a signal, as a sa_handler_t value regardless
of its true type. The resulting function can be compared to
special values like SIG_IGN but it is not portable to call it. */
-static inline sa_handler_t
+SIG_HANDLER_INLINE sa_handler_t
get_handler (struct sigaction const *a)
{
#ifdef SA_SIGINFO
@@ -41,4 +49,6 @@ get_handler (struct sigaction const *a)
return a->sa_handler;
}
+_GL_INLINE_HEADER_END
+
#endif /* _GL_SIG_HANDLER_H */