Skip to content

Commit 9e6eb42

Browse files
committed
Add VMCondition name
1 parent a8aada4 commit 9e6eb42

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

substratevm/src/com.oracle.svm.core.posix/src/com/oracle/svm/core/posix/pthread/PthreadVMLockSupport.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ protected VMMutex createReplacement(VMMutex source) {
7575
private final ClassInstanceReplacer<VMCondition, VMCondition> conditionReplacer = new ClassInstanceReplacer<>(VMCondition.class) {
7676
@Override
7777
protected VMCondition createReplacement(VMCondition source) {
78-
return new PthreadVMCondition((PthreadVMMutex) mutexReplacer.apply(source.getMutex()));
78+
return new PthreadVMCondition((PthreadVMMutex) mutexReplacer.apply(source.getMutex()), source.getConditionName());
7979
}
8080
};
8181

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/locks/VMCondition.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,28 @@
4343
public class VMCondition {
4444
protected final VMMutex mutex;
4545

46+
@Platforms(Platform.HOSTED_ONLY.class) //
47+
private final String name;
48+
4649
@Platforms(Platform.HOSTED_ONLY.class)
4750
public VMCondition(VMMutex mutex) {
51+
this(mutex, null);
52+
}
53+
54+
@Platforms(Platform.HOSTED_ONLY.class)
55+
public VMCondition(VMMutex mutex, String name) {
4856
this.mutex = mutex;
57+
this.name = name;
58+
}
59+
60+
@Platforms(Platform.HOSTED_ONLY.class)
61+
public String getName() {
62+
return name == null ? mutex.getName() : mutex.getName() + "_" + name;
63+
}
64+
65+
@Platforms(Platform.HOSTED_ONLY.class)
66+
public String getConditionName() {
67+
return name;
4968
}
5069

5170
@Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)

0 commit comments

Comments
 (0)