ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/LockSupportTest.java
(Generate patch)

Comparing jsr166/src/test/tck/LockSupportTest.java (file contents):
Revision 1.28 by jsr166, Fri May 12 18:23:11 2017 UTC vs.
Revision 1.29 by jsr166, Fri May 12 18:48:11 2017 UTC

# Line 186 | Line 186 | public class LockSupportTest extends JSR
186          Thread t = newStartedThread(new CheckedRunnable() {
187              public void realRun() {
188                  pleaseInterrupt.countDown();
189 <                do {
189 >                for (int tries = MAX_SPURIOUS_WAKEUPS; tries-->0; ) {
190                      parkMethod.park();
191 <                    // park may return spuriously
192 <                } while (! Thread.interrupted());
191 >                    if (Thread.interrupted())
192 >                        return;
193 >                }
194 >                fail("too many consecutive spurious wakeups?");
195              }});
196  
197          await(pleaseInterrupt);
# Line 259 | Line 261 | public class LockSupportTest extends JSR
261                  for (int tries = MAX_SPURIOUS_WAKEUPS; tries-->0; ) {
262                      long startTime = System.nanoTime();
263                      parkMethod.park(timeoutMillis());
262                    // park may return spuriously
264                      if (millisElapsedSince(startTime) >= timeoutMillis())
265                          return;
266                  }
# Line 297 | Line 298 | public class LockSupportTest extends JSR
298              public void realRun() {
299                  Thread t = Thread.currentThread();
300                  started.countDown();
301 <                do {
301 >                for (int tries = MAX_SPURIOUS_WAKEUPS; tries-->0; ) {
302                      assertNull(LockSupport.getBlocker(t));
303                      parkMethod.park();
304                      assertNull(LockSupport.getBlocker(t));
305 <                    // park may return spuriously
306 <                } while (! Thread.interrupted());
305 >                    if (Thread.interrupted())
306 >                        return;
307 >                }
308 >                fail("too many consecutive spurious wakeups?");
309              }});
310  
311          long startTime = System.nanoTime();
# Line 318 | Line 321 | public class LockSupportTest extends JSR
321                  assertNull(x);  // ok
322                  if (millisElapsedSince(startTime) > LONG_DELAY_MS)
323                      fail("timed out");
324 +                if (t.getState() == Thread.State.TERMINATED)
325 +                    break;
326                  Thread.yield();
327              }
328          }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines