mirror of https://github.com/F-Stack/f-stack.git
45 lines
994 B
C
45 lines
994 B
C
|
/* SPDX-License-Identifier: BSD-3-Clause
|
||
|
* Copyright(c) 2010-2014 Intel Corporation
|
||
|
*/
|
||
|
|
||
|
#include <stdarg.h>
|
||
|
#include <rte_eal.h>
|
||
|
#include <rte_log.h>
|
||
|
#include <rte_debug.h>
|
||
|
|
||
|
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);
|
||
|
}
|