This fixes a concurrency bug wherein the beacons list is being modified (on another thread, it seems) while being iterated through. This bug is why nDex often times disappears from the list of beacon statuses, when it times out. With this PR instead the nDex beacon reports an error status code, instead of disappearing from the status list.
I consider this a tentitive fix because while it prevents the problematic behavior, the underlying design flaw still exists.
This fixes a concurrency bug wherein the
beacons
list is being modified (on another thread, it seems) while being iterated through. This bug is why nDex often times disappears from the list of beacon statuses, when it times out. With this PR instead the nDex beacon reports an error status code, instead of disappearing from the status list.I consider this a tentitive fix because while it prevents the problematic behavior, the underlying design flaw still exists.