[Kernel] Fix the signal compiling issue when using minilibc

This commit is contained in:
Bernard Xiong 2019-12-18 23:06:36 +08:00
parent a87c2ef970
commit b5e4aa58e0
2 changed files with 25 additions and 10 deletions

View File

@ -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

View File

@ -63,13 +63,14 @@ typedef struct siginfo siginfo_t;
#define SI_MESGQ 0x05 /* Signal generated by arrival of a #define SI_MESGQ 0x05 /* Signal generated by arrival of a
message on an empty message queue. */ message on an empty message queue. */
#ifdef RT_USING_NEWLIB #if !defined(RT_USING_NEWLIB)
#include <sys/signal.h> typedef void (*_sig_func_ptr)(int);
typedef unsigned long sigset_t;
#endif #endif
#if defined(__CC_ARM) || defined(__CLANG_ARM)
#include <signal.h> #include <signal.h>
typedef unsigned long sigset_t;
#if defined(__CC_ARM) || defined(__CLANG_ARM)
#define SIGHUP 1 #define SIGHUP 1
/* #define SIGINT 2 */ /* #define SIGINT 2 */
@ -105,8 +106,6 @@ typedef unsigned long sigset_t;
#define SIG_BLOCK 1 /* set of signals to block */ #define SIG_BLOCK 1 /* set of signals to block */
#define SIG_UNBLOCK 2 /* set of signals to, well, unblock */ #define SIG_UNBLOCK 2 /* set of signals to, well, unblock */
typedef void (*_sig_func_ptr)(int);
struct sigaction struct sigaction
{ {
_sig_func_ptr sa_handler; _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); int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
#elif defined(__IAR_SYSTEMS_ICC__) #elif defined(__IAR_SYSTEMS_ICC__)
#include <signal.h>
typedef unsigned long sigset_t;
#define SIGHUP 1 #define SIGHUP 1
#define SIGINT 2 #define SIGINT 2
@ -161,8 +158,6 @@ typedef unsigned long sigset_t;
#define SIG_BLOCK 1 /* set of signals to block */ #define SIG_BLOCK 1 /* set of signals to block */
#define SIG_UNBLOCK 2 /* set of signals to, well, unblock */ #define SIG_UNBLOCK 2 /* set of signals to, well, unblock */
typedef void (*_sig_func_ptr)(int);
struct sigaction struct sigaction
{ {
_sig_func_ptr sa_handler; _sig_func_ptr sa_handler;