Пример #1
0
void exit_cleanup(void) {
    lispd_running = FALSE;
    /* Remove source routing tables */
    remove_created_rules();
    /* Close timer file descriptors */
    if (timers_fd != 0){
        remove_sig_timer();
    }
    /* Close receive sockets */
    close_socket(tun_fd);
    close_socket(ipv4_data_input_fd);
    close_socket(ipv4_control_input_fd);
    close_socket(ipv6_data_input_fd);
    close_socket(ipv6_control_input_fd);
    /* Close send sockets */
    close_output_sockets();
    /* Close netlink socket */
    close_socket(netlink_fd);

    free_map_cache_entry(proxy_etrs);
    free_lisp_addr_list(proxy_itrs, TRUE);
    free_map_server_list(map_servers);
    free_ifaces_list();
    drop_map_cache();
    drop_local_mappings();
    drop_referral_cache();
    free(config_file);

#ifdef ANDROID
    close_log_file();
#endif
    exit(EXIT_SUCCESS);
}
Пример #2
0
void exit_cleanup(void) {
    /* Remove source routing tables */
    remove_created_rules();
    /* Close timer file descriptors */
    close(timers_fd);
    /* Close receive sockets */
    close(tun_receive_fd);
    close(ipv4_data_input_fd);
    close(ipv4_control_input_fd);
    close(ipv6_data_input_fd);
    close(ipv6_control_input_fd);
    /* Close send sockets */
    close_output_sockets();
    /* Close netlink socket */
    close(netlink_fd);
    lispd_log_msg(LISP_LOG_INFO,"Exiting ...");

    exit(EXIT_SUCCESS);
}