mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-29 06:03:35 +08:00
prevent dataman from blocking startup when no sd card is present
This commit is contained in:
@@ -572,11 +572,13 @@ task_main(int argc, char *argv[])
|
|||||||
g_task_fd = open(k_data_manager_device_path, O_RDWR | O_CREAT | O_BINARY);
|
g_task_fd = open(k_data_manager_device_path, O_RDWR | O_CREAT | O_BINARY);
|
||||||
if (g_task_fd < 0) {
|
if (g_task_fd < 0) {
|
||||||
warnx("Could not open data manager file %s", k_data_manager_device_path);
|
warnx("Could not open data manager file %s", k_data_manager_device_path);
|
||||||
|
sem_post(&g_init_sema);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (lseek(g_task_fd, max_offset, SEEK_SET) != max_offset) {
|
if (lseek(g_task_fd, max_offset, SEEK_SET) != max_offset) {
|
||||||
close(g_task_fd);
|
close(g_task_fd);
|
||||||
warnx("Could not seek data manager file %s", k_data_manager_device_path);
|
warnx("Could not seek data manager file %s", k_data_manager_device_path);
|
||||||
|
sem_post(&g_init_sema);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
fsync(g_task_fd);
|
fsync(g_task_fd);
|
||||||
@@ -720,7 +722,7 @@ dataman_main(int argc, char *argv[])
|
|||||||
if (g_fd < 0)
|
if (g_fd < 0)
|
||||||
errx(1, "start failed");
|
errx(1, "start failed");
|
||||||
|
|
||||||
return 0;
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_fd < 0)
|
if (g_fd < 0)
|
||||||
@@ -733,6 +735,6 @@ dataman_main(int argc, char *argv[])
|
|||||||
else
|
else
|
||||||
usage();
|
usage();
|
||||||
|
|
||||||
return 0;
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user