private static void PostOnSynchronizationContext(IntPtr eventloop, EventLoopPostHandler callback, IntPtr user_data) { if (eventloop != IntPtr.Zero) { var context = (EventLoop)GCHandle.FromIntPtr(eventloop).Target; context.Post(callback, user_data); } }
internal void Post(EventLoopPostHandler callback, IntPtr user_data) { _context.Post(_ => { if (!_isReleased) { callback(user_data); } }, null); }