修复E-03:s_net_errno 改按任务隔离槽位,消除跨任务错误码错报
This commit is contained in:
+216
-201
File diff suppressed because it is too large
Load Diff
@@ -261,8 +261,18 @@ int net_set_event_cb(int sockfd, net_event_cb_t cb, void *arg);
|
||||
*/
|
||||
|
||||
/*
|
||||
* 函数功能:获取 socket 最后错误码
|
||||
* 返回值:错误码(NET_ERR_xxx)
|
||||
* 函数功能:获取 **本任务** 最后一次 net_*() 调用失败时的精确错误码
|
||||
* 入口参数:无
|
||||
* 出口参数:无
|
||||
* 返回值:错误码(NET_ERR_xxx);本任务尚无失败记录时为 NET_OK(0)
|
||||
* 限定条件:无(任何上下文可调用,含中断——查询为纯本任务索引读)
|
||||
* 函数说明:1. **按任务隔离**(2026-09-25 E-03 修复):错误码存在每个任务自己的
|
||||
* 槽位里,任务间互不干扰,不存在跨任务覆写竞态——旧实现的单一全局
|
||||
* 变量会被 netTask/其他任务的 net 调用交错覆盖,调用方可能读到别人的码
|
||||
* 2. 语义:本任务最后一次返回 -1 的 net_*() 调用所对应的精确码;
|
||||
* 调用成功时**不清零**(与本 API 历史行为一致,保持向后兼容)
|
||||
* 3. 任务句柄槽位用尽时回退到共享槽位(仅影响排障,不影响功能)
|
||||
* 4. 超时类场景(net_recv_to)请直接用返回码 -2 判定,不要依赖本接口
|
||||
*/
|
||||
int net_get_errno(void);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user