Blame src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_finalize.c

Packit 0848f5
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
Packit 0848f5
/*
Packit 0848f5
 *  (C) 2006 by Argonne National Laboratory.
Packit 0848f5
 *      See COPYRIGHT in top-level directory.
Packit 0848f5
 */
Packit 0848f5
Packit 0848f5
#include "tcp_impl.h"
Packit 0848f5
Packit 0848f5
#undef FUNCNAME
Packit 0848f5
#define FUNCNAME MPID_nem_tcp_finalize
Packit 0848f5
#undef FCNAME
Packit 0848f5
#define FCNAME MPL_QUOTE(FUNCNAME)
Packit 0848f5
int MPID_nem_tcp_finalize(void)
Packit 0848f5
{
Packit 0848f5
    int mpi_errno = MPI_SUCCESS;
Packit 0848f5
    int ret;
Packit 0848f5
    MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_FINALIZE);
Packit 0848f5
Packit 0848f5
    MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_FINALIZE);
Packit 0848f5
Packit 0848f5
    mpi_errno = MPID_nem_tcp_send_finalize();
Packit 0848f5
    if (mpi_errno) MPIR_ERR_POP(mpi_errno);
Packit 0848f5
    mpi_errno = MPID_nem_tcp_sm_finalize();
Packit 0848f5
    if (mpi_errno) MPIR_ERR_POP(mpi_errno);
Packit 0848f5
     
Packit 0848f5
    if (MPID_nem_tcp_g_lstn_sc.fd)
Packit 0848f5
    {
Packit 0848f5
        CHECK_EINTR (ret, close(MPID_nem_tcp_g_lstn_sc.fd));
Packit 0848f5
        MPIR_ERR_CHKANDJUMP2 (ret == -1, mpi_errno, MPI_ERR_OTHER, "**closesocket", "**closesocket %s %d", errno, MPIU_Strerror (errno));
Packit 0848f5
    }
Packit 0848f5
        
Packit 0848f5
 fn_exit:
Packit 0848f5
    MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_FINALIZE);
Packit 0848f5
    return mpi_errno;
Packit 0848f5
 fn_fail:
Packit 0848f5
    goto fn_exit;
Packit 0848f5
}
Packit 0848f5