1.sd卡挂载检测优化

This commit is contained in:
payton 2023-11-06 10:32:31 +08:00
parent 3ff91d1451
commit 2cf15cc0a9

View File

@ -2154,22 +2154,55 @@ void serach_gps_onkey_start(void)
} }
pthread_attr_destroy(&attr); pthread_attr_destroy(&attr);
} }
static int sf_is_sdc_mounted(void)
{
char line[256];
printf("%s:%d is_mounted:%d", __FUNCTION__, __LINE__);
FILE *file = fopen("/proc/mounts", "r");
if (file == NULL) {
perror("Error opening /proc/mounts");
return 0;
}
while (fgets(line, sizeof(line), file)) {
if (strstr(line, "/dev/mmcblk0p1") != NULL) {
fclose(file);
return 1;
}
}
fclose(file);
return 1;
}
int sf_check_sd(void) int sf_check_sd(void)
{ {
UINT8 i = 0; UINT8 i = 0;
int ret = SF_SUCCESS; int ret = SF_SUCCESS;
if (sf_sd_status_get() != SF_SD_OK) { if (sf_sd_status_get() != SF_SD_OK) {
ret = SF_FAILURE; ret = SF_FAILURE;
for (i = 0; i < 20; i++) { for (i = 0; i < 20; i++)
{
ret = sf_sd_status_get(); ret = sf_sd_status_get();
if (SF_SD_OK == ret) { if (SF_SD_OK == ret)
{
ret = SF_SUCCESS; ret = SF_SUCCESS;
MLOGI("SD\r\n"); MLOGI("SD\r\n");
sf_statistics_param_load(sf_statistics_param_get()); sf_statistics_param_load(sf_statistics_param_get());
break; break;
} else { }
else
{
if (1 == sf_is_sdc_mounted())
{
ret = SF_SUCCESS;
MLOGI("mounted SD\r\n");
sf_statistics_param_load(sf_statistics_param_get());
break;
}
sleep(1); sleep(1);
} }
} }
return ret; return ret;