btl/tcp: fix double list remove
This commit fixes an abort during finalize because pending events were removed from the list twice. References #2030 Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
Этот коммит содержится в:
родитель
7c8e7691a7
Коммит
a681837ba8
@ -394,7 +394,7 @@ static int mca_btl_tcp_component_open(void)
|
|||||||
|
|
||||||
static int mca_btl_tcp_component_close(void)
|
static int mca_btl_tcp_component_close(void)
|
||||||
{
|
{
|
||||||
opal_list_item_t *item;
|
mca_btl_tcp_event_t *event, *next;
|
||||||
|
|
||||||
#if MCA_BTL_TCP_SUPPORT_PROGRESS_THREAD
|
#if MCA_BTL_TCP_SUPPORT_PROGRESS_THREAD
|
||||||
/**
|
/**
|
||||||
@ -454,8 +454,7 @@ static int mca_btl_tcp_component_close(void)
|
|||||||
|
|
||||||
/* remove all pending events. Do not lock the tcp_events list as
|
/* remove all pending events. Do not lock the tcp_events list as
|
||||||
the event themselves will unregister during the destructor. */
|
the event themselves will unregister during the destructor. */
|
||||||
while( NULL != (item = opal_list_remove_first(&mca_btl_tcp_component.tcp_events)) ) {
|
OPAL_LIST_FOREACH_SAFE(event, next, &mca_btl_tcp_component.tcp_events, mca_btl_tcp_event_t) {
|
||||||
mca_btl_tcp_event_t* event = (mca_btl_tcp_event_t*)item;
|
|
||||||
opal_event_del(&event->event);
|
opal_event_del(&event->event);
|
||||||
OBJ_RELEASE(event);
|
OBJ_RELEASE(event);
|
||||||
}
|
}
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user