summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--components/libc/compilers/minilibc/signal.h20
-rw-r--r--include/libc/libc_signal.h15
2 files changed, 25 insertions, 10 deletions
diff --git a/components/libc/compilers/minilibc/signal.h b/components/libc/compilers/minilibc/signal.h
new file mode 100644
index 0000000000..f52f1e1009
--- /dev/null
+++ b/components/libc/compilers/minilibc/signal.h
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2006-2018, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2017-09-12 Bernard The first version
+ */
+
+#ifndef SIGNAL_H__
+#define SIGNAL_H__
+
+#include <libc/libc_signal.h>
+
+#define SIG_DFL ((_sig_func_ptr)0) /* Default action */
+#define SIG_IGN ((_sig_func_ptr)1) /* Ignore action */
+#define SIG_ERR ((_sig_func_ptr)-1) /* Error return */
+
+#endif
diff --git a/include/libc/libc_signal.h b/include/libc/libc_signal.h
index c77f36798c..898fe13f43 100644
--- a/include/libc/libc_signal.h
+++ b/include/libc/libc_signal.h
@@ -63,13 +63,14 @@ typedef struct siginfo siginfo_t;
#define SI_MESGQ 0x05 /* Signal generated by arrival of a
message on an empty message queue. */
-#ifdef RT_USING_NEWLIB
-#include <sys/signal.h>
+#if !defined(RT_USING_NEWLIB)
+typedef void (*_sig_func_ptr)(int);
+typedef unsigned long sigset_t;
#endif
-#if defined(__CC_ARM) || defined(__CLANG_ARM)
#include <signal.h>
-typedef unsigned long sigset_t;
+
+#if defined(__CC_ARM) || defined(__CLANG_ARM)
#define SIGHUP 1
/* #define SIGINT 2 */
@@ -105,8 +106,6 @@ typedef unsigned long sigset_t;
#define SIG_BLOCK 1 /* set of signals to block */
#define SIG_UNBLOCK 2 /* set of signals to, well, unblock */
-typedef void (*_sig_func_ptr)(int);
-
struct sigaction
{
_sig_func_ptr sa_handler;
@@ -124,8 +123,6 @@ int sigprocmask (int how, const sigset_t *set, sigset_t *oset);
int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
#elif defined(__IAR_SYSTEMS_ICC__)
-#include <signal.h>
-typedef unsigned long sigset_t;
#define SIGHUP 1
#define SIGINT 2
@@ -161,8 +158,6 @@ typedef unsigned long sigset_t;
#define SIG_BLOCK 1 /* set of signals to block */
#define SIG_UNBLOCK 2 /* set of signals to, well, unblock */
-typedef void (*_sig_func_ptr)(int);
-
struct sigaction
{
_sig_func_ptr sa_handler;