usnic: ensure to have a safe destruction of an opal_list_item_t
It turns out that we ''can'' get to the endpoint destructor with the endpoint still on the "endpoints needing ACKs" list. So if it's on the list, remove it first, and then DESTRUCT the opal_list_item_t. This prevents an assert() fail in debug builds. We'd like to let this soak over the weekend. cmr=v1.8.2:reviewer=dgoodell This commit was SVN r32546.
Этот коммит содержится в:
родитель
1cdcb7290b
Коммит
ac7c907f8d
@ -113,8 +113,9 @@ static void endpoint_destruct(mca_btl_base_endpoint_t* endpoint)
|
|||||||
int rc;
|
int rc;
|
||||||
opal_btl_usnic_proc_t *proc;
|
opal_btl_usnic_proc_t *proc;
|
||||||
|
|
||||||
/* We should not get here for an endpoint that is on the ACK list,
|
if (endpoint->endpoint_ack_needed) {
|
||||||
so it should be safe to unconditionally destruct the ack_li */
|
opal_btl_usnic_remove_from_endpoints_needing_ack(endpoint);
|
||||||
|
}
|
||||||
OBJ_DESTRUCT(&(endpoint->endpoint_ack_li));
|
OBJ_DESTRUCT(&(endpoint->endpoint_ack_li));
|
||||||
|
|
||||||
/* Remove the endpoint from the all_endpoints list */
|
/* Remove the endpoint from the all_endpoints list */
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user