/* SPDX-License-Identifier: BSD-3-Clause * Copyright(c) 2010-2014 Intel Corporation */ #include #include #include #include void __rte_panic(const char *funcname, const char *format, ...) { va_list ap; rte_log(RTE_LOG_CRIT, RTE_LOGTYPE_EAL, "PANIC in %s():\n", funcname); va_start(ap, format); rte_vlog(RTE_LOG_CRIT, RTE_LOGTYPE_EAL, format, ap); va_end(ap); rte_dump_stack(); abort(); /* generate a coredump if enabled */ } /* * Like rte_panic this terminates the application. However, no traceback is * provided and no core-dump is generated. */ void rte_exit(int exit_code, const char *format, ...) { va_list ap; if (exit_code != 0) RTE_LOG(CRIT, EAL, "Error - exiting with code: %d\n" " Cause: ", exit_code); va_start(ap, format); rte_vlog(RTE_LOG_CRIT, RTE_LOGTYPE_EAL, format, ap); va_end(ap); if (rte_eal_cleanup() != 0) RTE_LOG(CRIT, EAL, "EAL could not release all resources\n"); exit(exit_code); }