feature: Newlib support signal.

修改signal适配支持Newlic

close #I4RD3H

Signed-off-by: JerryH <huangjieliang@huawei.com>
Change-Id: I59f59856a275f5a4f802a1ea7d08e9405a2fb6aa
This commit is contained in:
JerryH 2022-01-20 16:49:13 +08:00
parent 1edfa86bc9
commit 017adac7a4
5 changed files with 5 additions and 58 deletions

View File

@ -31,6 +31,7 @@ import("//kernel/liteos_m/liteos.gni")
module_name = get_path_info(rebase_path("."), "name")
kernel_module(module_name) {
sources = [ "los_signal.c" ]
configs += [ "$LITEOSTOPDIR:warn_config" ]
}
config("public") {

View File

@ -1,6 +1,6 @@
config KERNEL_SIGNAL
bool "Enable Signal"
default n
default y
depends on KERNEL_EXTKERNEL
help
Select y to build LiteOS with signal.

View File

@ -62,13 +62,13 @@ config POSIX_MQUEUE_API
config POSIX_PIPE_API
bool "Enable POSIX Pipe API"
default n
default y
help
Answer Y to enable LiteOS support POSIX Pipe API.
config POSIX_SIGNAL_API
bool "Enable POSIX Signal API"
default n
default y
depends on KERNEL_SIGNAL
help
Answer Y to enable LiteOS support POSIX Signal API.

View File

@ -28,7 +28,7 @@
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/fcntl.h>
#include <fcntl.h>
#include <poll.h>
#include "securec.h"
#include "los_fs.h"

View File

@ -77,60 +77,6 @@ void (*signal(int sig, void (*func)(int)))(int)
return h;
}
int sigemptyset(sigset_t *set)
{
if (set == NULL) {
errno = EINVAL;
return -1;
}
*set = 0;
return 0;
}
int sigfillset(sigset_t *set)
{
if (set == NULL) {
errno = EINVAL;
return -1;
}
*set = ~0;
return 0;
}
int sigaddset(sigset_t *set, int sig)
{
if ((set == NULL) || !OS_SIGNAL_VALID(sig)) {
errno = EINVAL;
return -1;
}
*set |= LOS_SIGNAL_MASK(sig);
return 0;
}
int sigdelset(sigset_t *set, int sig)
{
if ((set == NULL) || !OS_SIGNAL_VALID(sig)) {
errno = EINVAL;
return -1;
}
*set &= ~LOS_SIGNAL_MASK(sig);
return 0;
}
int sigismember(const sigset_t *set, int sig)
{
if ((set == NULL) || !OS_SIGNAL_VALID(sig)) {
errno = EINVAL;
return -1;
}
return ((*set & LOS_SIGNAL_MASK(sig)) != 0);
}
int sigprocmask(int how, const sigset_t *set, sigset_t *oset)
{
unsigned int ret = LOS_SignalMask(how, set, oset);