Skip to content
Permalink
Browse files

Fix for unloaded but active block problem

  • Loading branch information
CiaranG authored and sapier committed Mar 2, 2014
1 parent 1b840e8 commit baee91bf78cdc17a401ad82ee14e2917d44be8fb
Showing with 8 additions and 0 deletions.
  1. +8 −0 src/environment.cpp
@@ -796,6 +796,14 @@ class ABMHandler

void ServerEnvironment::activateBlock(MapBlock *block, u32 additional_dtime)
{
// Reset usage timer immediately, otherwise a block that becomes active
// again at around the same time as it would normally be unloaded will
// get unloaded incorrectly. (I think this still leaves a small possibility
// of a race condition between this and server::AsyncRunStep, which only
// some kind of synchronisation will fix, but it at least reduces the window
// of opportunity for it to break from seconds to nanoseconds)
block->resetUsageTimer();

// Get time difference
u32 dtime_s = 0;
u32 stamp = block->getTimestamp();

0 comments on commit baee91b

Please sign in to comment.