mirror of
https://github.com/The-OpenROAD-Project/OpenSTA.git
synced 2026-05-30 00:24:12 +08:00
Report lock
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <string>
|
||||
#include <mutex>
|
||||
#include "DisallowCopyAssign.hh"
|
||||
|
||||
struct Tcl_Interp;
|
||||
@@ -113,6 +114,7 @@ protected:
|
||||
char *buffer_;
|
||||
// Length of string in buffer.
|
||||
size_t buffer_length_;
|
||||
std::mutex buffer_lock_;
|
||||
|
||||
private:
|
||||
DISALLOW_COPY_AND_ASSIGN(Report);
|
||||
|
||||
@@ -88,6 +88,7 @@ Report::print(const string &str)
|
||||
void
|
||||
Report::vprint(const char *fmt, va_list args)
|
||||
{
|
||||
std::unique_lock<std::mutex> lock(buffer_lock_);
|
||||
printToBuffer(fmt, args);
|
||||
printString(buffer_, buffer_length_);
|
||||
}
|
||||
@@ -121,6 +122,7 @@ Report::printError(const char *buffer, size_t length)
|
||||
void
|
||||
Report::vprintError(const char *fmt, va_list args)
|
||||
{
|
||||
std::unique_lock<std::mutex> lock(buffer_lock_);
|
||||
printToBuffer(fmt, args);
|
||||
printError(buffer_, buffer_length_);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user