clayborg added a comment.

For this idea to work we would need to change the Emit() function to be 
DoEmit(...), then add logic to LogHandler:

  void LogHandler::Emit(StringRef message) {
    if (m_circular) {
      // Fill buffer in circular fashion
      return;
    }
    if (m_buffer_size > 0) {
      if (m_buffer.size() + message.size() > m_buffer_size) {
        // If we exceed the buffer size, flush.
        DoEmit(m_buffer);
        DoEmit(message);
        m_buffer.clear();
      } else {
        // Buffer size not exceeded yet.
        m_buffer += message.str();
      }
    } else {
      DoEmit(message); 
    }
  }


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D127986/new/

https://reviews.llvm.org/D127986

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to