nx_tcp_server_socket_listen
调用nx_tcp_server_socket_listen函数返回值是0x11.NX_CALLER_ERROR:(0x11) 此服务的调用方无效。 这是什么意思? 单步调试进去看下,主要是这几个在调用/* Define several macros for the error checking shell in NetX.*/
#ifndef TX_TIMER_PROCESS_IN_ISR
#define NX_CALLER_CHECKING_EXTERNS externTX_THREAD *_tx_thread_current_ptr; \
externTX_THREAD _tx_timer_thread; \
externvolatile ULONG _tx_thread_system_state;
#define NX_THREADS_ONLY_CALLER_CHECKING if ((TX_THREAD_GET_SYSTEM_STATE()) || \
(_tx_thread_current_ptr == TX_NULL) || \
(_tx_thread_current_ptr == &_tx_timer_thread)) \
return(NX_CALLER_ERROR);
#define NX_INIT_AND_THREADS_CALLER_CHECKING if (((TX_THREAD_GET_SYSTEM_STATE()) && (TX_THREAD_GET_SYSTEM_STATE() < ((ULONG) 0xF0F0F0F0))) || \
(_tx_thread_current_ptr == &_tx_timer_thread)) \
return(NX_CALLER_ERROR);
#define NX_NOT_ISR_CALLER_CHECKING if ((TX_THREAD_GET_SYSTEM_STATE()) && (TX_THREAD_GET_SYSTEM_STATE() < ((ULONG) 0xF0F0F0F0))) \
return(NX_CALLER_ERROR);
#define NX_THREAD_WAIT_CALLER_CHECKING if ((wait_option) && \
((_tx_thread_current_ptr == NX_NULL) || (TX_THREAD_GET_SYSTEM_STATE()) || (_tx_thread_current_ptr == &_tx_timer_thread))) \
return(NX_CALLER_ERROR);
eric2013 发表于 2024-3-11 00:50
单步调试进去看下,主要是这几个在调用
/* Define several macros for the error c ...
#define NX_THREADS_ONLY_CALLER_CHECKING if ((TX_THREAD_GET_SYSTEM_STATE()) || \
(_tx_thread_current_ptr == TX_NULL) || \
(_tx_thread_current_ptr == &_tx_timer_thread)) \
return(NX_CALLER_ERROR);
主要是这个函数返回0x11,请问这是为什么? fsp 发表于 2024-3-11 10:05
#define NX_THREADS_ONLY_CALLER_CHECKING if ((TX_THREAD_GET_SYSTEM_STATE()) || \
...
进一步锁定是if判断里面那个成立了,就锁定问题了。
页:
[1]