Example #1
0
/**
 * Destroy a Globus Callout Handle
 * @ingroup globus_callout_handle
 *
 * @param handle
 *        The handle that is to be destroyed
 * @return
 *        GLOBUS_SUCCESS
 */
globus_result_t
globus_callout_handle_destroy(
    globus_callout_handle_t             handle)
{
    globus_result_t                     result = GLOBUS_SUCCESS;
    static char *                       _function_name_ =
        "globus_callout_handle_destroy";
    GLOBUS_I_CALLOUT_DEBUG_ENTER;
    
    /* free hashes */

    globus_hashtable_destroy_all(
        &(handle->library_htable),
        globus_l_callout_library_table_element_free);

    globus_hashtable_destroy_all(
        &(handle->symbol_htable),
        globus_l_callout_data_free);

    free(handle);
    
    GLOBUS_I_CALLOUT_DEBUG_EXIT;

    return result;
}/*globus_callout_handle_destroy*/
/**
 * Destroy a header info structure
 * @ingroup globus_i_xio_http_header_info
 *
 * All fields of this header information structure will be freed.
 *
 * @param header_info
 *     Header information structure to destroy.
 *
 * @return void
 */
void
globus_i_xio_http_header_info_destroy(
    globus_i_xio_http_header_info_t *   header_info)
{
    globus_hashtable_destroy_all(
            &header_info->headers,
            globus_i_xio_http_header_destroy);
}
static
int
globus_l_net_manager_python_deactivate(void)
{
    globus_net_manager_unregister(&globus_l_net_manager_python);
    globus_hashtable_destroy_all(
            &globus_l_python_modules,
            globus_l_python_modules_destroy);
    Py_Finalize();
    return globus_module_deactivate(GLOBUS_NET_MANAGER_MODULE);
}
static
int
globus_l_net_manager_logging_deactivate(void)
{
    globus_hashtable_destroy_all(
            &globus_l_nm_logging_logfiles,
            globus_l_logging_logfiles_destroy);

    int rc = globus_net_manager_unregister(&globus_l_net_manager_logging);
    if (rc == 0)
    {
        rc = globus_module_deactivate(GLOBUS_NET_MANAGER_MODULE);
    }
    return rc;
}