// Copyright 2008 The Android Open Source Project
/**
* Exercise monitors.
*/
public class Monitor {
public static int mVal = 0;
public synchronized void subTest() {
Object obj = new Object();
synchronized (obj) {
mVal++;
obj = null; // does NOT cause a failure on exit
assert(obj == null);
}
}
public static void run() {
System.out.println("Monitor.run");
Object obj = null;
try {
synchronized (obj) {
mVal++;
}
assert(false);
} catch (NullPointerException npe) {
/* expected */
}
obj = new Object();
synchronized (obj) {
mVal++;
}
new Monitor().subTest();
assert(mVal == 2);
}
}