pmix3x: client: fix PMIx_Finalize() sequence
pmix_progress_thread_finalize() invokes libevent event_base_free, so all libevent stuff cannot be used after. Hence, pmix_client_globals.myserver must be PMIX_DESTRUCT'ed before invoking pmix_progress_thread_finalize()
Этот коммит содержится в:
родитель
34c036acf4
Коммит
362a5886de
@ -506,6 +506,7 @@ PMIX_EXPORT pmix_status_t PMIx_Finalize(const pmix_info_t info[], size_t ninfo)
|
|||||||
"pmix:client finalize sync received");
|
"pmix:client finalize sync received");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PMIX_DESTRUCT(&pmix_client_globals.myserver);
|
||||||
if (!pmix_globals.external_evbase) {
|
if (!pmix_globals.external_evbase) {
|
||||||
#ifdef HAVE_LIBEVENT_GLOBAL_SHUTDOWN
|
#ifdef HAVE_LIBEVENT_GLOBAL_SHUTDOWN
|
||||||
libevent_global_shutdown();
|
libevent_global_shutdown();
|
||||||
@ -514,7 +515,6 @@ PMIX_EXPORT pmix_status_t PMIx_Finalize(const pmix_info_t info[], size_t ninfo)
|
|||||||
}
|
}
|
||||||
|
|
||||||
pmix_usock_finalize();
|
pmix_usock_finalize();
|
||||||
PMIX_DESTRUCT(&pmix_client_globals.myserver);
|
|
||||||
PMIX_LIST_DESTRUCT(&pmix_client_globals.pending_requests);
|
PMIX_LIST_DESTRUCT(&pmix_client_globals.pending_requests);
|
||||||
|
|
||||||
if (0 <= pmix_client_globals.myserver.sd) {
|
if (0 <= pmix_client_globals.myserver.sd) {
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user