Skip to content
Snippets Groups Projects
Commit 9ce1bf77 authored by Nils-Arne Dreier's avatar Nils-Arne Dreier
Browse files

fix: wait until the privious put is complete before trigger a new one.

Solves an issue when source and target field of the same exchange are
on the same process.
parent a3ab46dc
No related branches found
No related tags found
1 merge request!20fix: wait until the privious put is complete before trigger a new one.
Pipeline #91266 passed
......@@ -90,6 +90,18 @@ namespace coyote {
int field_id = event->field.yac_source_field_id.value();
int info = -1, ierror = 0;
int collection_size = yac_cget_collection_size_from_field_id(field_id);
// if the previous put is not completed yet, we
// need to wait, because it might be that the
// source and target field of the same exchange is
// on this process. In this case YAC would trigger
// an abort ( to avoid an deadlock in the
// non-threaded case) if the put is not already
// completed.
int flag;
do {
yac_ctest(field_id, &flag);
} while (!flag);
if (!event->field.frac_mask.empty()) {
yac_cput_frac_(
field_id,
......
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