fix: add synchronized() to service numOnlineNodes

to avoid `ConcurrentModificationException` from nodeDBbyNodeNum changes
This commit is contained in:
andrekir
2023-04-07 11:28:17 -03:00
parent 440fc97fa0
commit a560555a01

View File

@@ -427,7 +427,8 @@ class MeshService : Service(), Logging {
/**
* How many nodes are currently online (including our local node)
*/
private val numOnlineNodes get() = nodeDBbyNodeNum.values.count { it.isOnline }
private val numOnlineNodes
get() = synchronized(nodeDBbyNodeNum) { nodeDBbyNodeNum.values.count { it.isOnline } }
private fun toNodeNum(id: String): Int = when (id) {
DataPacket.ID_BROADCAST -> DataPacket.NODENUM_BROADCAST