Skip to content

Commit e03f92f

Browse files
committed
Support for more than 64 core in -Daffinity.reserved
1 parent f517839 commit e03f92f

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

affinity/src/main/java/net/openhft/affinity/AffinityLock.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,14 @@ private static BitSet getReservedAffinity0() {
128128
return reserverable;
129129
}
130130

131-
long[] longs = new long[1];
132-
longs[0] = Long.parseLong(reservedAffinity, 16);
131+
reservedAffinity = reservedAffinity.trim();
132+
long[] longs = new long[1 + (reservedAffinity.length() - 1) / 16];
133+
int end = reservedAffinity.length();
134+
for(int i = 0; i < longs.length ; i++) {
135+
int begin = Math.max(0, end - 16);
136+
longs[i] = Long.parseLong(reservedAffinity.substring(begin, end), 16);
137+
end = begin;
138+
}
133139
return BitSet.valueOf(longs);
134140
}
135141

0 commit comments

Comments
 (0)