From 79ad10bd8e061c6e694b9a13615ba013467ab9b3 Mon Sep 17 00:00:00 2001 From: Andrea Marziali Date: Wed, 7 Jan 2026 14:53:58 +0100 Subject: [PATCH] Lazy init JNA on service discovery --- .../tooling/servicediscovery/MemFDUnixWriterJNA.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/servicediscovery/MemFDUnixWriterJNA.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/servicediscovery/MemFDUnixWriterJNA.java index 6743a39bc08..1cc7bee170f 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/servicediscovery/MemFDUnixWriterJNA.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/servicediscovery/MemFDUnixWriterJNA.java @@ -7,7 +7,9 @@ import com.sun.jna.Pointer; public final class MemFDUnixWriterJNA extends MemFDUnixWriter { - private final LibC libc = Native.load("c", LibC.class); + private static final class Lazy { + static final LibC LIBC = Native.load("c", LibC.class); + } private interface LibC extends Library { long syscall(long number, Object... args); @@ -19,19 +21,19 @@ private interface LibC extends Library { @Override protected long syscall(long number, String name, int flags) { - return libc.syscall(number, name, flags); + return Lazy.LIBC.syscall(number, name, flags); } @Override protected long write(int fd, byte[] payload) { Memory buf = new Memory(payload.length); buf.write(0, payload, 0, payload.length); - return libc.write(fd, buf, new NativeLong(payload.length)).longValue(); + return Lazy.LIBC.write(fd, buf, new NativeLong(payload.length)).longValue(); } @Override protected int fcntl(int fd, int cmd, int arg) { - return libc.fcntl(fd, cmd, arg); + return Lazy.LIBC.fcntl(fd, cmd, arg); } @Override