The condition was wrong. The fact that it accept 0 length messages
is interpreted as a shutdown of the io channel on the next iteration. Definitively not the good approach. The correct condition is bigger than 0. This commit was SVN r9770.
Этот коммит содержится в:
родитель
bfcf3867fc
Коммит
1ea3a39372
@ -515,13 +515,12 @@ int orte_iof_base_endpoint_forward(
|
|||||||
OPAL_THREAD_UNLOCK(&orte_iof_base.iof_lock);
|
OPAL_THREAD_UNLOCK(&orte_iof_base.iof_lock);
|
||||||
return ORTE_SUCCESS;
|
return ORTE_SUCCESS;
|
||||||
}
|
}
|
||||||
rc = 0;
|
rc = 0; /* don't affect the remaining length of the data */
|
||||||
} else {
|
|
||||||
frag->frag_len -= rc;
|
|
||||||
}
|
}
|
||||||
|
frag->frag_len -= rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(frag->frag_len > 0 || len == 0) {
|
if(frag->frag_len > 0) {
|
||||||
/* handle incomplete write - also queue up 0 byte message
|
/* handle incomplete write - also queue up 0 byte message
|
||||||
* and recognize this as a request to close the descriptor
|
* and recognize this as a request to close the descriptor
|
||||||
* when all pending operations complete
|
* when all pending operations complete
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user