Page 1 of 1
【已解决】【网关】【TuyaOS SDK】网关程序运行后,程序打开的文件一直增加,APP打开时socket报错
Posted: 2023年 Feb 17日 16:56
by 18625210969
1) 开发包全名:
tuyaos-gw-integrated_3.5.6_ssd201_eth-wifi-gw-com_0.0.1.tar.gz
2) 问题现象
程序已经完成了WIFI配网,打开涂鸦APP后,log显示socket fail之类的报错,增加打印信息,发现为:Too many open files,
于是重启网关程序,使用lsof查看网关程序打开的文件数,发现一直增加,最终到1023,我把自己的创建的线程关掉也是一直增加。
3) 操作流程
如上。
4) 问题时间
2023-02-17
Re: 【求助】【网关】【TuyaOS SDK】网关程序运行后,程序打开的文件一直增加,APP打开时socket报错
Posted: 2023年 Feb 17日 17:17
by Kyson
提供的 DEMO 仅供参考,不确定你是否直接使用适配好的 TKL?目前看 tkl_wifi 中 __wifi_status
接口存在没关闭文件描述符,你可以修改试试看。
Code: Select all
STATIC BOOL_T __wifi_status(VOID)
{
FILE *fp = NULL;
CHAR_T buf[512] = {0};
WF_STATION_STAT_E stat = 0;
fp = popen("wpa_cli -i " WLAN_DEV " status", "r");
if (fp == NULL) {
return FALSE;
}
while (fgets(buf, SIZEOF(buf), fp)) {
if (!strstr(buf, "wpa_state"))
continue;
char *k = strtok(buf, "=");
char *v = strtok(NULL, "=");
if (v && !strncmp(v, "COMPLETED", strlen("COMPLETED"))) {
tkl_wifi_station_get_status(&stat);
if (stat == WSS_GOT_IP) {
pclose(fp);
return TRUE;
}
}
}
pclose(fp);
return FALSE;
}
Re: 【求助】【网关】【TuyaOS SDK】网关程序运行后,程序打开的文件一直增加,APP打开时socket报错
Posted: 2023年 Feb 17日 17:48
by 18625210969
Re: 【已解决】【网关】【TuyaOS SDK】网关程序运行后,程序打开的文件一直增加,APP打开时socket报错
Posted: 2023年 Feb 17日 18:44
by Kyson