sdlog2: Waiting for full boot

This commit is contained in:
Lorenz Meier 2015-08-11 09:24:21 +02:00
parent 134c1d991a
commit c8ca147b4d
1 changed files with 17 additions and 3 deletions

View File

@ -344,7 +344,20 @@ int sdlog2_main(int argc, char *argv[])
3000,
sdlog2_thread_main,
(char * const *)argv);
exit(0);
/* wait for the task to launch */
unsigned const max_wait_us = 1000000;
unsigned const max_wait_steps = 2000;
unsigned i;
for (i = 0; i < max_wait_steps; i++) {
usleep(max_wait_us / max_wait_steps);
if (thread_running) {
break;
}
}
exit(!(i < max_wait_steps));
}
if (!strcmp(argv[1], "stop")) {
@ -1228,8 +1241,6 @@ int sdlog2_thread_main(int argc, char *argv[])
/* close stdout */
close(1);
thread_running = true;
/* initialize thread synchronization */
pthread_mutex_init(&logbuffer_mutex, NULL);
pthread_cond_init(&logbuffer_cond, NULL);
@ -1263,6 +1274,9 @@ int sdlog2_thread_main(int argc, char *argv[])
sdlog2_start_log();
}
/* running, report */
thread_running = true;
while (!main_thread_should_exit) {
usleep(sleep_delay);