1.wifi切网时做互斥操作,以免频繁点击
This commit is contained in:
parent
26e56590ad
commit
5156752c1a
|
@ -71,8 +71,8 @@ void sf_set_wifi_socket(int fd);
|
||||||
int sf_get_wifi_socket(void);
|
int sf_get_wifi_socket(void);
|
||||||
void sf_set_wifi_cmd(UINT8 cmd);
|
void sf_set_wifi_cmd(UINT8 cmd);
|
||||||
UINT8 sf_get_wifi_cmd(void);
|
UINT8 sf_get_wifi_cmd(void);
|
||||||
void sf_network_select(UINT8 profileId, UINT8 ctlType); //SF_CONTROL_TYPE_e ctlType
|
SINT32 sf_network_select(UINT8 profileId, UINT8 ctlType); //SF_CONTROL_TYPE_e ctlType
|
||||||
void sf_4g_operator_scan(UINT8 mode, UINT8 ctlType); //SF_CONTROL_TYPE_e ctlType
|
SINT32 sf_4g_operator_scan(UINT8 mode, UINT8 ctlType); //SF_CONTROL_TYPE_e ctlType
|
||||||
SINT32 sf_lpa_get_esim_iccid(SF_CHAR iccid[][22]);
|
SINT32 sf_lpa_get_esim_iccid(SF_CHAR iccid[][22]);
|
||||||
void sf_set_esim_card(INT8 flag);
|
void sf_set_esim_card(INT8 flag);
|
||||||
|
|
||||||
|
|
|
@ -333,7 +333,16 @@ static UINT8 WifiCurrentCmd=0;
|
||||||
LPA_GET_PROFILES_INFO getProfilesInfo;
|
LPA_GET_PROFILES_INFO getProfilesInfo;
|
||||||
LPA_PROFILE_INFO *ProfileData = NULL;
|
LPA_PROFILE_INFO *ProfileData = NULL;
|
||||||
LPA_PROFILE_INFO ProfileActive;
|
LPA_PROFILE_INFO ProfileActive;
|
||||||
|
SF_THREAD_S ScanTskCfg =
|
||||||
|
{
|
||||||
|
.IsRun = 0,
|
||||||
|
.TskId = -1,
|
||||||
|
};
|
||||||
|
SF_THREAD_S NetSelectTskCfg =
|
||||||
|
{
|
||||||
|
.IsRun = 0,
|
||||||
|
.TskId = -1,
|
||||||
|
};
|
||||||
void sf_set_wifi_cmd(UINT8 cmd)
|
void sf_set_wifi_cmd(UINT8 cmd)
|
||||||
{
|
{
|
||||||
WifiCurrentCmd = cmd;
|
WifiCurrentCmd = cmd;
|
||||||
|
@ -2819,7 +2828,7 @@ void sf_operator_scan_thread(void* args)
|
||||||
{
|
{
|
||||||
printf("scan network.\n");
|
printf("scan network.\n");
|
||||||
struct ThreadArgs* myArgs = (struct ThreadArgs*)args;
|
struct ThreadArgs* myArgs = (struct ThreadArgs*)args;
|
||||||
|
ScanTskCfg.IsRun = 1;
|
||||||
UINT8 totalOperator = 0;
|
UINT8 totalOperator = 0;
|
||||||
UINT8 totalProfile = 0;
|
UINT8 totalProfile = 0;
|
||||||
UINT8 i = 0;
|
UINT8 i = 0;
|
||||||
|
@ -2968,19 +2977,30 @@ void sf_operator_scan_thread(void* args)
|
||||||
sf_share_mem_wifi_down(1);
|
sf_share_mem_wifi_down(1);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
ScanTskCfg.IsRun = 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void sf_4g_operator_scan(UINT8 mode, UINT8 ctlType)
|
SINT32 sf_4g_operator_scan(UINT8 mode, UINT8 ctlType)
|
||||||
{
|
{
|
||||||
pthread_t tOperScanTask;
|
|
||||||
|
|
||||||
|
SINT32 ret = SF_FAILURE;
|
||||||
static struct ThreadArgs args = {0};
|
static struct ThreadArgs args = {0};
|
||||||
args.arg1 = mode;
|
args.arg1 = mode;
|
||||||
args.arg2 = ctlType;
|
args.arg2 = ctlType;
|
||||||
|
|
||||||
pthread_create(&tOperScanTask,NULL,sf_operator_scan_thread,(void *)&args);
|
if(ScanTskCfg.IsRun)
|
||||||
|
{
|
||||||
|
SLOGE("thread has already run !!!\n");
|
||||||
|
return SF_FAILURE;
|
||||||
|
}
|
||||||
|
ret = pthread_create(&ScanTskCfg.TskId,NULL,sf_operator_scan_thread,(void *)&args);
|
||||||
|
if(ret != SF_SUCCESS)
|
||||||
|
{
|
||||||
|
MLOGD("thread creat fail!\n");
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
return SF_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
UINT8 sf_wifi_server_network_select_finish(UINT8 errCode)
|
UINT8 sf_wifi_server_network_select_finish(UINT8 errCode)
|
||||||
|
@ -3084,7 +3104,7 @@ void sf_network_select_thread(void* args)
|
||||||
{
|
{
|
||||||
struct ThreadArgs* myArgs = (struct ThreadArgs*)args;
|
struct ThreadArgs* myArgs = (struct ThreadArgs*)args;
|
||||||
printf("select network, PID:%d\n", myArgs->arg1);
|
printf("select network, PID:%d\n", myArgs->arg1);
|
||||||
|
NetSelectTskCfg.IsRun = 1;
|
||||||
UINT32 ret = SF_LPA_SUCCESS;
|
UINT32 ret = SF_LPA_SUCCESS;
|
||||||
UINT32 sts = 0;
|
UINT32 sts = 0;
|
||||||
UINT32 retryTime=0;
|
UINT32 retryTime=0;
|
||||||
|
@ -3339,19 +3359,29 @@ void sf_network_select_thread(void* args)
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
NetSelectTskCfg.IsRun = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sf_network_select(UINT8 profileId, UINT8 ctlType)
|
SINT32 sf_network_select(UINT8 profileId, UINT8 ctlType)
|
||||||
{
|
{
|
||||||
pthread_t tNetWorkSeclectTask;
|
|
||||||
SLOGD("sf_network_select,Pid:%d ctlType:%d\n", profileId, ctlType);
|
SLOGD("sf_network_select,Pid:%d ctlType:%d\n", profileId, ctlType);
|
||||||
|
|
||||||
static struct ThreadArgs args = {0};
|
static struct ThreadArgs args = {0};
|
||||||
args.arg1 = profileId;
|
args.arg1 = profileId;
|
||||||
args.arg2 = ctlType;
|
args.arg2 = ctlType;
|
||||||
|
SINT32 ret = SF_FAILURE;
|
||||||
|
|
||||||
pthread_create(&tNetWorkSeclectTask, NULL, sf_network_select_thread, (void *)&args);
|
if(NetSelectTskCfg.IsRun)
|
||||||
|
{
|
||||||
|
SLOGE("thread has already run !!!\n");
|
||||||
|
return SF_FAILURE;
|
||||||
|
}
|
||||||
|
ret = pthread_create(&NetSelectTskCfg.TskId,NULL,sf_network_select_thread,(void *)&args);
|
||||||
|
if(ret != SF_SUCCESS)
|
||||||
|
{
|
||||||
|
MLOGD("thread creat fail!\n");
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
return SF_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user