mirror of
https://github.com/luanti-org/luanti.git
synced 2025-10-15 09:25:37 +02:00
Divorce map database locking from env lock (#15151)
This commit is contained in:
@@ -46,6 +46,7 @@ class DecorationManager;
|
||||
class SchematicManager;
|
||||
class Server;
|
||||
class ModApiMapgen;
|
||||
struct MapDatabaseAccessor;
|
||||
|
||||
// Structure containing inputs/outputs for chunk generation
|
||||
struct BlockMakeData {
|
||||
@@ -173,6 +174,10 @@ public:
|
||||
SchematicManager *getWritableSchematicManager();
|
||||
|
||||
void initMapgens(MapgenParams *mgparams);
|
||||
/// @param holder non-owned reference that must stay alive
|
||||
void initMap(MapDatabaseAccessor *holder);
|
||||
/// resets the reference
|
||||
void resetMap();
|
||||
|
||||
void startThreads();
|
||||
void stopThreads();
|
||||
@@ -206,6 +211,9 @@ private:
|
||||
std::vector<EmergeThread *> m_threads;
|
||||
bool m_threads_active = false;
|
||||
|
||||
// The map database
|
||||
MapDatabaseAccessor *m_db = nullptr;
|
||||
|
||||
std::mutex m_queue_mutex;
|
||||
std::map<v3s16, BlockEmergeData> m_blocks_enqueued;
|
||||
std::unordered_map<u16, u32> m_peer_queue_count;
|
||||
|
Reference in New Issue
Block a user