提交 e9522d44 编写于 作者: O openharmony_ci 提交者: Gitee

!121 release【bug】sigaction中sigsuspend的后执行信号顺序与预期不符,信号注册时未屏蔽用户传入信号屏蔽字段

Merge pull request !121 from give-me-five/OpenHarmony_1.0.1_release
...@@ -510,7 +510,6 @@ int OsSigSuspend(const sigset_t *set) ...@@ -510,7 +510,6 @@ int OsSigSuspend(const sigset_t *set)
{ {
unsigned int intSave; unsigned int intSave;
LosTaskCB *rtcb = NULL; LosTaskCB *rtcb = NULL;
unsigned int sigTempProcMask;
sigset_t setSuspend; sigset_t setSuspend;
int ret; int ret;
...@@ -519,7 +518,6 @@ int OsSigSuspend(const sigset_t *set) ...@@ -519,7 +518,6 @@ int OsSigSuspend(const sigset_t *set)
} }
SCHEDULER_LOCK(intSave); SCHEDULER_LOCK(intSave);
rtcb = OsCurrTaskGet(); rtcb = OsCurrTaskGet();
sigTempProcMask = rtcb->sig.sigprocmask;
/* Wait signal calc */ /* Wait signal calc */
setSuspend = FULL_SIGNAL_SET & (~(*set)); setSuspend = FULL_SIGNAL_SET & (~(*set));
...@@ -530,8 +528,6 @@ int OsSigSuspend(const sigset_t *set) ...@@ -530,8 +528,6 @@ int OsSigSuspend(const sigset_t *set)
if (ret < 0) { if (ret < 0) {
PRINT_ERR("FUNC %s LINE = %d, ret = %x\n", __FUNCTION__, __LINE__, ret); PRINT_ERR("FUNC %s LINE = %d, ret = %x\n", __FUNCTION__, __LINE__, ret);
} }
/* Restore old sigprocmask */
OsSigMaskSwitch(rtcb, sigTempProcMask);
SCHEDULER_UNLOCK(intSave); SCHEDULER_UNLOCK(intSave);
return -EINTR; return -EINTR;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册