ucx
ucx copied to clipboard
UCT/IB: Fix teardown path on memory handler callback
What
Fix error handling path on multi-threaded registration.
Why ?
Currently we see segfault in the thread because we try to teardown the first failing registration.
More generally, a thread can fail to start or fail to properly register all its tasked mrs
.
How ?
- Make sure we cannot dereg twice.
- Make sure we only teardown
mrs
entries corresponding to started threads. - Make sure started threads return with their
mrs
all initialized.