3.4.9. Handling bits%init_nbors
When a thread updating a boundary task discovers a bits%init_nbors,
it clears that bit after the send_to_vnbors() call,
since the bit needs to be propagated to virtual copies of the task.
The nbor list is not updated before the task that was deemed ready to update has indeed updated, to ensure consistency during guard zone loading.
Therefore, the init_nbors() is done from task_list_t%post_update(),
after its call to task%update(), and before the call to
send_to_vnbors().
The call to send_to_vnbors() is immediately preceeded by a
call to load_balance(), which implies a boundary task that will have
a new nbor list generated could possibly be reassigned to another rank.
It will, in any case, have a new nbor list generated also on the other rank,
to ensure consistency between the real and virtual task sides.
After a task%update() and init_nbors() the task state changes to “idle”.