Skip to content

Commit 7f33e50

Browse files
authored
Lazy init JNA on service discovery (#10304)
1 parent 740201a commit 7f33e50

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/servicediscovery/MemFDUnixWriterJNA.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
import com.sun.jna.Pointer;
88

99
public final class MemFDUnixWriterJNA extends MemFDUnixWriter {
10-
private final LibC libc = Native.load("c", LibC.class);
10+
private static final class Lazy {
11+
static final LibC LIBC = Native.load("c", LibC.class);
12+
}
1113

1214
private interface LibC extends Library {
1315
long syscall(long number, Object... args);
@@ -19,19 +21,19 @@ private interface LibC extends Library {
1921

2022
@Override
2123
protected long syscall(long number, String name, int flags) {
22-
return libc.syscall(number, name, flags);
24+
return Lazy.LIBC.syscall(number, name, flags);
2325
}
2426

2527
@Override
2628
protected long write(int fd, byte[] payload) {
2729
Memory buf = new Memory(payload.length);
2830
buf.write(0, payload, 0, payload.length);
29-
return libc.write(fd, buf, new NativeLong(payload.length)).longValue();
31+
return Lazy.LIBC.write(fd, buf, new NativeLong(payload.length)).longValue();
3032
}
3133

3234
@Override
3335
protected int fcntl(int fd, int cmd, int arg) {
34-
return libc.fcntl(fd, cmd, arg);
36+
return Lazy.LIBC.fcntl(fd, cmd, arg);
3537
}
3638

3739
@Override

0 commit comments

Comments
 (0)