diff --git a/lib/logdna/client.rb b/lib/logdna/client.rb index 29290af..cb0748a 100755 --- a/lib/logdna/client.rb +++ b/lib/logdna/client.rb @@ -49,7 +49,7 @@ def schedule_flush sleep(@exception_flag ? @retry_timeout : @flush_interval) flush if @flush_scheduled } - thread = Thread.new { start_timer } + thread = Thread.new { start_timer.call } thread.join end @@ -62,8 +62,11 @@ def write_to_buffer(msg, opts) @flush_scheduled = true @lock.unlock - flush if @flush_limit <= @buffer_byte_size - schedule_flush unless @flush_scheduled + if @flush_limit <= @buffer_byte_size + flush + else + schedule_flush + end else @side_message_lock.synchronize do @side_messages.push(process_message(msg, opts))