File tree 1 file changed +5
-6
lines changed
src/main/java/org/apache/maven/buildcache/hash
1 file changed +5
-6
lines changed Original file line number Diff line number Diff line change 23
23
import java .nio .ByteBuffer ;
24
24
import java .nio .channels .FileChannel ;
25
25
import java .nio .channels .FileChannel .MapMode ;
26
- import java .security .PrivilegedAction ;
27
26
28
- import static java .security .AccessController .doPrivileged ;
29
27
import static org .apache .maven .buildcache .hash .ReflectionUtils .getField ;
30
28
import static org .apache .maven .buildcache .hash .ReflectionUtils .getMethod ;
31
29
34
32
*/
35
33
public class CloseableBuffer implements AutoCloseable {
36
34
37
- private static final Cleaner CLEANER = doPrivileged ((PrivilegedAction <Cleaner >) () -> {
35
+ private static final Cleaner CLEANER = getJVMDependentCleaner ();
36
+
37
+ private static Cleaner getJVMDependentCleaner () {
38
38
final String jsv = System .getProperty ("java.specification.version" , "9" );
39
39
if (jsv .startsWith ("1." )) {
40
40
return DirectCleaner .isSupported () ? new DirectCleaner () : new NoopCleaner ();
41
41
} else {
42
42
return UnsafeCleaner .isSupported () ? new UnsafeCleaner () : new NoopCleaner ();
43
43
}
44
- });
44
+ }
45
45
46
46
public static CloseableBuffer directBuffer (int capacity ) {
47
47
return new CloseableBuffer (ByteBuffer .allocateDirect (capacity ));
@@ -70,8 +70,7 @@ public ByteBuffer getBuffer() {
70
70
71
71
@ Override
72
72
public void close () {
73
- // Java 8: () -> CLEANER.clean(buffer)
74
- boolean done = doPrivileged ((PrivilegedAction <Boolean >) () -> CLEANER .clean (buffer ));
73
+ boolean done = CLEANER .clean (buffer );
75
74
if (done ) {
76
75
buffer = null ;
77
76
}
You can’t perform that action at this time.
0 commit comments