equal
deleted
inserted
replaced
2750 |
2750 |
2751 static int check_pending_signals() { |
2751 static int check_pending_signals() { |
2752 for (;;) { |
2752 for (;;) { |
2753 for (int i = 0; i < NSIG + 1; i++) { |
2753 for (int i = 0; i < NSIG + 1; i++) { |
2754 jint n = pending_signals[i]; |
2754 jint n = pending_signals[i]; |
2755 if (n > 0 && n == Atomic::cmpxchg(n - 1, &pending_signals[i], n)) { |
2755 if (n > 0 && n == Atomic::cmpxchg(&pending_signals[i], n, n - 1)) { |
2756 return i; |
2756 return i; |
2757 } |
2757 } |
2758 } |
2758 } |
2759 JavaThread *thread = JavaThread::current(); |
2759 JavaThread *thread = JavaThread::current(); |
2760 ThreadBlockInVM tbivm(thread); |
2760 ThreadBlockInVM tbivm(thread); |