Internals: Add VL_MT_SAFE attribute to functions that requires locking. (#3805)

This commit is contained in:
Kamil Rakoczy
2023-03-17 20:24:15 -04:00
committed by GitHub
parent d6c5d40f9b
commit 798d7346cf
35 changed files with 185 additions and 143 deletions
+3 -1
View File
@@ -28,6 +28,8 @@
#include "config_build.h"
#include "verilatedos.h"
#include "verilated_threads.h"
// Limited V3 headers here - this is a base class for Vlc etc
#include "V3Os.h"
#include "V3String.h"
@@ -286,7 +288,7 @@ uint64_t V3Os::rand64(std::array<uint64_t, 2>& stater) {
return result;
}
string V3Os::trueRandom(size_t size) {
string V3Os::trueRandom(size_t size) VL_MT_SAFE {
string result(size, '\xFF');
char* const data = const_cast<char*>(result.data());
// Note: std::string.data() returns a non-const Char* from C++17 onwards.