#include <stdint.h>
#include <errno.h>
+#include <assert.h>
#include "arch/sys_arch.h"
#include <stdio.h>
#define LWIP_PLATFORM_DIAG(x) do {printf x;} while(0)
-#define LWIP_PLATFORM_ASSERT(x) do {printf(x); sys_arch_assert(__FILE__, __LINE__);} while(0)
+// __assert_func is the assertion failure handler from newlib, defined in assert.h
+#define LWIP_PLATFORM_ASSERT(message) __assert_func(__FILE__, __LINE__, __ASSERT_FUNC, message)
#ifdef NDEBUG
#define LWIP_NOASSERT
#define sys_sem_valid( x ) ( ( ( *x ) == NULL) ? pdFALSE : pdTRUE )\r
#define sys_sem_set_invalid( x ) ( ( *x ) = NULL )\r
\r
-void sys_arch_assert(const char *file, int line);\r
uint32_t system_get_time(void);
void sys_delay_ms(uint32_t ms);
sys_sem_t* sys_thread_sem_init(void);
sys_mutex_unlock(&g_lwip_protect_mutex);
}
-/*-----------------------------------------------------------------------------------*/
-/*
- * Prints an assertion messages and aborts execution.
- */
-void
-sys_arch_assert(const char *file, int line)
-{
- ESP_LOGE(TAG, "\nAssertion: %d in %s\n", line, file);
-
-// vTaskEnterCritical();
- while(1);
-}
-
#define SYS_TLS_INDEX CONFIG_LWIP_THREAD_LOCAL_STORAGE_INDEX
/*
* get per thread semphore