lib/fluent/engine.rb in fluentd-0.12.38 vs lib/fluent/engine.rb in fluentd-0.12.39
- old
+ new
@@ -163,10 +163,11 @@
def log_event_loop
$log.disable_events(Thread.current)
while sleep(LOG_EMIT_INTERVAL)
+ break if @log_event_loop_stop
next if @log_event_queue.empty?
# NOTE: thead-safe of slice! depends on GVL
events = @log_event_queue.slice!(0..-1)
next if events.empty?
@@ -176,11 +177,10 @@
@event_router.emit(tag, time, record)
rescue => e
$log.error "failed to emit fluentd's log event", tag: tag, event: record, error_class: e.class, error: e
end
}
- break if @log_event_loop_stop
end
end
def run
begin
@@ -207,17 +207,14 @@
rescue => e
$log.error "unexpected error", error_class: e.class, error: e
$log.error_backtrace
ensure
$log.info "shutting down fluentd"
+ shutdown
if @log_emit_thread
- shutdown do
- @log_event_loop_stop = true
- @log_emit_thread.join
- end
- else
- shutdown
+ @log_event_loop_stop = true
+ @log_emit_thread.join
end
end
end
def stop
@@ -238,11 +235,11 @@
def start
@root_agent.start
end
- def shutdown(&block)
- @root_agent.shutdown(&block)
+ def shutdown
+ @root_agent.shutdown
end
end
Engine = EngineClass.new
end