diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/signal.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/signal.c b/src/signal.c index 68b3836a85..6d7b847c12 100644 --- a/src/signal.c +++ b/src/signal.c @@ -45,7 +45,7 @@ struct siginfo_node { - struct siginfo si; + siginfo_t si; struct rt_slist_node list; }; @@ -339,7 +339,7 @@ void rt_thread_handle_sig(rt_bool_t clean_state) level = rt_hw_interrupt_disable(); tid->sig_pending &= ~sig_mask(signo); - error = si_node->si.si_errno; + error = -RT_EINTR; rt_mp_free(si_node); /* release this siginfo node */ /* set errno in thread tcb */ @@ -419,7 +419,6 @@ int rt_thread_kill(rt_thread_t tid, int sig) if (!sig_valid(sig)) return -RT_EINVAL; dbg_log(DBG_INFO, "send signal: %d\n", sig); - si.si_errno = RT_EINTR; si.si_signo = sig; si.si_code = SI_USER; si.si_value.sival_ptr = RT_NULL; |
