-
Type:
Bug
-
Status: Closed
-
Priority:
P4
-
Resolution: Not an Issue
-
Affects Version/s: hs18
-
Fix Version/s: None
-
Component/s: core-libs
-
Labels:
-
Subcomponent:
-
CPU:generic
-
OS:generic
The following core doesn't throw an Error as expected:
import java.util.concurrent.Semaphore;
public class PermitOverflow {
public static void main(String[] args) throws Throwable {
for (boolean fair : new boolean[] { true, false }) {
Semaphore sem = new Semaphore(Integer.MAX_VALUE - 1, fair);
if (sem.availablePermits() != Integer.MAX_VALUE - 1)
throw new RuntimeException();
try {
sem.release(2);
} catch (Error expected) {
}
...
}
import java.util.concurrent.Semaphore;
public class PermitOverflow {
public static void main(String[] args) throws Throwable {
for (boolean fair : new boolean[] { true, false }) {
Semaphore sem = new Semaphore(Integer.MAX_VALUE - 1, fair);
if (sem.availablePermits() != Integer.MAX_VALUE - 1)
throw new RuntimeException();
try {
sem.release(2);
} catch (Error expected) {
}
...
}
- relates to
-
JDK-6941130 Semaphore acquire method can hang.
-
- Resolved
-