diff options
author | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-02-28 17:59:59 +0100 |
---|---|---|
committer | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-02-28 17:59:59 +0100 |
commit | 5d0da9a2c04673eaceb630c7d38dddf4b80d2183 (patch) | |
tree | d75a180edc54274c069c0269061060408cbdd5cd /source/cChunkGenerator.cpp | |
parent | Setting the m_bDestroyed flag only after the cClienthandle is truly destroyed; cClientHandle's destructor now locks loaded chunk lists (diff) | |
download | cuberite-5d0da9a2c04673eaceb630c7d38dddf4b80d2183.tar cuberite-5d0da9a2c04673eaceb630c7d38dddf4b80d2183.tar.gz cuberite-5d0da9a2c04673eaceb630c7d38dddf4b80d2183.tar.bz2 cuberite-5d0da9a2c04673eaceb630c7d38dddf4b80d2183.tar.lz cuberite-5d0da9a2c04673eaceb630c7d38dddf4b80d2183.tar.xz cuberite-5d0da9a2c04673eaceb630c7d38dddf4b80d2183.tar.zst cuberite-5d0da9a2c04673eaceb630c7d38dddf4b80d2183.zip |
Diffstat (limited to 'source/cChunkGenerator.cpp')
-rw-r--r-- | source/cChunkGenerator.cpp | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/source/cChunkGenerator.cpp b/source/cChunkGenerator.cpp index 072326eb6..83375fc5b 100644 --- a/source/cChunkGenerator.cpp +++ b/source/cChunkGenerator.cpp @@ -84,24 +84,26 @@ void cChunkGenerator::Stop(void) void cChunkGenerator::GenerateChunk(int a_ChunkX, int a_ChunkY, int a_ChunkZ)
{
- cCSLock Lock(m_CS);
-
- // Check if it is already in the queue:
- for (cChunkCoordsList::iterator itr = m_Queue.begin(); itr != m_Queue.end(); ++itr)
{
- if ((itr->m_ChunkX == a_ChunkX) && (itr->m_ChunkY == a_ChunkY) && (itr->m_ChunkZ == a_ChunkZ))
+ cCSLock Lock(m_CS);
+
+ // Check if it is already in the queue:
+ for (cChunkCoordsList::iterator itr = m_Queue.begin(); itr != m_Queue.end(); ++itr)
{
- // Already in the queue, bail out
- return;
+ if ((itr->m_ChunkX == a_ChunkX) && (itr->m_ChunkY == a_ChunkY) && (itr->m_ChunkZ == a_ChunkZ))
+ {
+ // Already in the queue, bail out
+ return;
+ }
+ } // for itr - m_Queue[]
+
+ // Add to queue, issue a warning if too many:
+ if (m_Queue.size() >= QUEUE_WARNING_LIMIT)
+ {
+ LOGWARN("WARNING: Adding chunk [%i, %i] to generation queue; Queue is too big! (%i)", a_ChunkX, a_ChunkZ, m_Queue.size());
}
- } // for itr - m_Queue[]
-
- // Add to queue, issue a warning if too many:
- if (m_Queue.size() >= QUEUE_WARNING_LIMIT)
- {
- LOGWARN("WARNING: Adding chunk [%i, %i] to generation queue; Queue is too big! (%i)", a_ChunkX, a_ChunkZ, m_Queue.size());
+ m_Queue.push_back(cChunkCoords(a_ChunkX, a_ChunkY, a_ChunkZ));
}
- m_Queue.push_back(cChunkCoords(a_ChunkX, a_ChunkY, a_ChunkZ));
m_Event.Set();
}
|