src/hotspot/os/linux/os_linux.cpp
changeset 59252 623722a6aeb9
parent 59249 29b0d0b61615
child 59290 97d13893ec3c
equal deleted inserted replaced
59251:4cbfa5077d68 59252:623722a6aeb9
  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);