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);
 }
 internal void Post(EventLoopPostHandler callback, IntPtr user_data)
 {
     _context.Post(_ =>
     {
         if (!_isReleased)
         {
             callback(user_data);
         }
     }, null);
 }
 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);
     }
 }