707d35deeb
This commit fixes a deadlock that can occur when using a TL that supports the connect to endpoint model. The deadlock was occurring while processing an incoming connection requests. This was done from an active-message callback. For some unknown reason (at this time) this callback was sometimes hanging. To avoid the issue the connection active-message is saved for later processing. At the same time I cleaned up the connection code to eliminate duplicate messages when possible. This commit also fixes some bugs in the active-message send path: - Correctly set all fragment fields in prepare_src. - Fix bug when using buffered-send. We were not reading the return code correctly (which is in bytes). This resulted in a message getting sent multiple times. - Don't try to progress sends from the btl_send function when in an active-message callback. It could lead to deep recursion and an eventual crash if we get a trace like send->progress->am_complete->ob1_callback->send->am_complete... Closes #5820 Closes #5821 Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov> |
||
---|---|---|
.. | ||
allocator | ||
backtrace | ||
base | ||
btl | ||
common | ||
compress | ||
crs | ||
dl | ||
event | ||
hwloc | ||
if | ||
installdirs | ||
memchecker | ||
memcpy | ||
memory | ||
mpool | ||
patcher | ||
pmix | ||
pstat | ||
rcache | ||
reachable | ||
shmem | ||
timer | ||
Makefile.am | ||
mca.h |