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

!39 修正OsSigTimedWaitNoLock只清除一个pending信号

Merge pull request !39 from laokz/signal
...@@ -459,8 +459,8 @@ int OsSigTimedWaitNoLock(sigset_t *set, siginfo_t *info, unsigned int timeout) ...@@ -459,8 +459,8 @@ int OsSigTimedWaitNoLock(sigset_t *set, siginfo_t *info, unsigned int timeout)
/* If pendingflag & set > 0, shound clear pending flag */ /* If pendingflag & set > 0, shound clear pending flag */
sigset_t clear = sigcb->sigPendFlag & *set; sigset_t clear = sigcb->sigPendFlag & *set;
if (clear) { if (clear) {
sigcb->sigPendFlag ^= clear;
ret = FindFirstSetedBit((UINT64)clear) + 1; ret = FindFirstSetedBit((UINT64)clear) + 1;
sigcb->sigPendFlag ^= SIGNO2SET(ret);
} else { } else {
OsSigAddSet(set, SIGKILL); OsSigAddSet(set, SIGKILL);
OsSigAddSet(set, SIGSTOP); OsSigAddSet(set, SIGSTOP);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册