module Fluent::PluginHelper::EventLoop
def after_shutdown
def after_shutdown timeout_at = Fluent::Clock.now + EVENT_LOOP_SHUTDOWN_TIMEOUT @_event_loop_mutex.synchronize do @_event_loop.watchers.reverse.each do |w| begin w.detach rescue => e log.warn "unexpected error while detaching event loop watcher", error: e end end end while @_event_loop_running if Fluent::Clock.now >= timeout_at log.warn "event loop does NOT exit until hard timeout." raise "event loop does NOT exit until hard timeout." if @under_plugin_development break end sleep 0.1 end super end