0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-06-26 05:48:20 +02:00

ircd:Ⓜ️:sync: Do a full iteration of all linear sync items even if success.

This commit is contained in:
Jason Volk 2019-03-27 19:32:54 -07:00
parent 6dc50292e8
commit 394ec523a2
3 changed files with 21 additions and 9 deletions

View file

@ -555,7 +555,8 @@ ircd::m::sync::linear_proffer_event(data &data,
bool
ircd::m::sync::linear_proffer_event_one(data &data)
{
return !m::sync::for_each(string_view{}, [&data]
bool ret{false};
m::sync::for_each(string_view{}, [&data, &ret]
(item &item)
{
json::stack::checkpoint checkpoint
@ -564,11 +565,14 @@ ircd::m::sync::linear_proffer_event_one(data &data)
};
if(item.linear(data))
return false;
ret = true;
else
checkpoint.rollback();
checkpoint.rollback();
return true;
});
return ret;
}
//

View file

@ -68,7 +68,8 @@ ircd::m::sync::rooms_linear(data &data)
if(should_ignore(data))
return false;
return !m::sync::for_each("rooms", [&data]
bool ret{false};
m::sync::for_each("rooms", [&data, &ret]
(item &item)
{
json::stack::checkpoint checkpoint
@ -77,11 +78,14 @@ ircd::m::sync::rooms_linear(data &data)
};
if(item.linear(data))
return false;
ret = true;
else
checkpoint.rollback();
checkpoint.rollback();
return true;
});
return ret;
}
bool

View file

@ -33,7 +33,8 @@ ircd::m::sync::rooms_ephemeral
bool
ircd::m::sync::rooms_ephemeral_linear(data &data)
{
return !m::sync::for_each("rooms.ephemeral", [&data]
bool ret{false};
m::sync::for_each("rooms.ephemeral", [&data, &ret]
(item &item)
{
json::stack::checkpoint checkpoint
@ -42,11 +43,14 @@ ircd::m::sync::rooms_ephemeral_linear(data &data)
};
if(item.linear(data))
return false;
ret = true;
else
checkpoint.rollback();
checkpoint.rollback();
return true;
});
return ret;
}
bool