!39 修正OsSigTimedWaitNoLock只清除一个pending信号
Merge pull request !39 from laokz/signal
This commit is contained in:
commit
c69eee403e
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue