Increase and decrease in_sigcancel_handler accordingly to avoid possible

error caused by nested SIGCANCEL stack, it is a bit complex.
This commit is contained in:
David Xu 2008-03-05 07:04:55 +00:00
parent 54dff16b26
commit 1cb51125aa
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=176818

View File

@ -69,9 +69,9 @@ sigcancel_handler(int sig __unused,
if (curthread->cancel_defer && curthread->cancel_pending)
thr_wake(curthread->tid);
curthread->in_sigcancel_handler = 1;
curthread->in_sigcancel_handler++;
_thr_ast(curthread);
curthread->in_sigcancel_handler = 0;
curthread->in_sigcancel_handler--;
}
void