Skip to content
Snippets Groups Projects
Commit f9eb31f3 authored by est31's avatar est31
Browse files

Flush rollback log more often

Flushes the buffer of rollback actions that wait to get saved in two more situations:

1. Flushes in the destructor of the rollback. This makes the server not
forget the last < 500 rollback entries when it shuts down.

2. Flushes the rollback when /rollback_check is invoked. This is neccessary
as otherwise it leads to confusion if users want to test the rollback functionality
by placing a node and then executing the check on it, or if the actions were
very recent out of other reasons.
parent 964be640
No related branches found
No related tags found
No related merge requests found
......@@ -107,6 +107,8 @@ RollbackManager::RollbackManager(const std::string & world_path,
RollbackManager::~RollbackManager()
{
flush();
SQLOK(sqlite3_finalize(stmt_insert));
SQLOK(sqlite3_finalize(stmt_replace));
SQLOK(sqlite3_finalize(stmt_select));
......@@ -930,6 +932,7 @@ std::list<RollbackAction> RollbackManager::getEntriesSince(time_t first_time)
std::list<RollbackAction> RollbackManager::getNodeActors(v3s16 pos, int range,
time_t seconds, int limit)
{
flush();
time_t cur_time = time(0);
time_t first_time = cur_time - seconds;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment