diff options
author | davidxu <davidxu@FreeBSD.org> | 2006-10-22 00:09:41 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2006-10-22 00:09:41 +0000 |
commit | 5bbfc34004cad851b61bca208966257a98c953c9 (patch) | |
tree | 8ae25eb760fffb2734d4aba014a2ce8f86068a93 | |
parent | df9c81e66591e79ffef395a199aaf592dbcb767f (diff) | |
download | FreeBSD-src-5bbfc34004cad851b61bca208966257a98c953c9.zip FreeBSD-src-5bbfc34004cad851b61bca208966257a98c953c9.tar.gz |
Use macro TAILQ_FOREACH_SAFE instead of expanding it.
-rw-r--r-- | sys/kern/kern_sig.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index d038efa..a975914 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -276,8 +276,7 @@ sigqueue_get(sigqueue_t *sq, int signo, ksiginfo_t *si) SIGDELSET(sq->sq_kill, signo); } - for (ksi = TAILQ_FIRST(&sq->sq_list); ksi != NULL; ksi = next) { - next = TAILQ_NEXT(ksi, ksi_link); + TAILQ_FOREACH_SAFE(ksi, &sq->sq_list, ksi_link, next) { if (ksi->ksi_signo == signo) { if (count == 0) { TAILQ_REMOVE(&sq->sq_list, ksi, ksi_link); @@ -428,8 +427,7 @@ sigqueue_move_set(sigqueue_t *src, sigqueue_t *dst, sigset_t *setp) p1 = src->sq_proc; p2 = dst->sq_proc; /* Move siginfo to target list */ - for (ksi = TAILQ_FIRST(&src->sq_list); ksi != NULL; ksi = next) { - next = TAILQ_NEXT(ksi, ksi_link); + TAILQ_FOREACH_SAFE(ksi, &src->sq_list, ksi_link, next) { if (SIGISMEMBER(set, ksi->ksi_signo)) { TAILQ_REMOVE(&src->sq_list, ksi, ksi_link); if (p1 != NULL) @@ -475,8 +473,7 @@ sigqueue_delete_set(sigqueue_t *sq, sigset_t *set) KASSERT(sq->sq_flags & SQ_INIT, ("src sigqueue not inited")); /* Remove siginfo queue */ - for (ksi = TAILQ_FIRST(&sq->sq_list); ksi != NULL; ksi = next) { - next = TAILQ_NEXT(ksi, ksi_link); + TAILQ_FOREACH_SAFE(ksi, &sq->sq_list, ksi_link, next) { if (SIGISMEMBER(*set, ksi->ksi_signo)) { TAILQ_REMOVE(&sq->sq_list, ksi, ksi_link); ksi->ksi_sigq = NULL; |