X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fldk%2Fstructs%2FEventsProvider.java;h=a75370c7575d96a0f62115352a927378829174d4;hb=8a515be62568ee4327e636a977e32204006d6493;hp=03f8921bdbb6c67a88b1baf8a209d4ab458dc022;hpb=db1a11032b4164540a2d3403696be12bbca70e94;p=ldk-java diff --git a/src/main/java/org/ldk/structs/EventsProvider.java b/src/main/java/org/ldk/structs/EventsProvider.java index 03f8921b..a75370c7 100644 --- a/src/main/java/org/ldk/structs/EventsProvider.java +++ b/src/main/java/org/ldk/structs/EventsProvider.java @@ -4,6 +4,7 @@ import org.ldk.impl.bindings; import org.ldk.enums.*; import org.ldk.util.*; import java.util.Arrays; +import java.lang.ref.Reference; import javax.annotation.Nullable; /** @@ -64,6 +65,7 @@ public class EventsProvider extends CommonBase { EventHandler ret_hu_conv = new EventHandler(null, handler); ret_hu_conv.ptrs_to.add(this); arg.process_pending_events(ret_hu_conv); + Reference.reachabilityFence(arg); } }); return impl_holder.held; @@ -77,6 +79,8 @@ public class EventsProvider extends CommonBase { */ public void process_pending_events(EventHandler handler) { bindings.EventsProvider_process_pending_events(this.ptr, handler == null ? 0 : handler.ptr); + Reference.reachabilityFence(this); + Reference.reachabilityFence(handler); this.ptrs_to.add(handler); }