diff --git a/orte/mca/oob/tcp/oob_tcp_component.c b/orte/mca/oob/tcp/oob_tcp_component.c index 4398b9bd48..e6982bafc0 100644 --- a/orte/mca/oob/tcp/oob_tcp_component.c +++ b/orte/mca/oob/tcp/oob_tcp_component.c @@ -695,6 +695,9 @@ static void component_shutdown(void) /* tell the thread to exit */ write(mca_oob_tcp_component.stop_thread[1], &i, sizeof(int)); opal_thread_join(&mca_oob_tcp_component.listen_thread, NULL); + + close(mca_oob_tcp_component.stop_thread[0]); + close(mca_oob_tcp_component.stop_thread[1]); } else { opal_output_verbose(2, orte_oob_base_framework.framework_output, "no hnp or not active"); diff --git a/orte/mca/oob/tcp/oob_tcp_listener.c b/orte/mca/oob/tcp/oob_tcp_listener.c index 41c4aeb51c..0c7855e600 100644 --- a/orte/mca/oob/tcp/oob_tcp_listener.c +++ b/orte/mca/oob/tcp/oob_tcp_listener.c @@ -705,8 +705,6 @@ static void* listen_thread(opal_object_t *obj) rc = select(max + 1, &readfds, NULL, NULL, &timeout); if (!mca_oob_tcp_component.listen_thread_active) { /* we've been asked to terminate */ - close(mca_oob_tcp_component.stop_thread[0]); - close(mca_oob_tcp_component.stop_thread[1]); return NULL; } if (rc < 0) {