Skip to content

Commit cb159f8

Browse files
committedMay 5, 2020
Fix crash when exiting server during running mapgen
easily reproducible with a high num_emerge_threads and /emergeblocks
1 parent f3e87c5 commit cb159f8

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed
 

Diff for: ‎src/emerge.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -255,8 +255,9 @@ Mapgen *EmergeManager::getCurrentMapgen()
255255
return nullptr;
256256

257257
for (u32 i = 0; i != m_threads.size(); i++) {
258-
if (m_threads[i]->isCurrentThread())
259-
return m_threads[i]->m_mapgen;
258+
EmergeThread *t = m_threads[i];
259+
if (t->isRunning() && t->isCurrentThread())
260+
return t->m_mapgen;
260261
}
261262

262263
return nullptr;
@@ -642,8 +643,7 @@ MapBlock *EmergeThread::finishGen(v3s16 pos, BlockMakeData *bmdata,
642643
/*
643644
Clear generate notifier events
644645
*/
645-
Mapgen *mg = m_emerge->getCurrentMapgen();
646-
mg->gennotify.clearEvents();
646+
m_mapgen->gennotify.clearEvents();
647647

648648
EMERGE_DBG_OUT("ended up with: " << analyze_block(block));
649649

0 commit comments

Comments
 (0)
Please sign in to comment.