mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-14 10:07:39 +08:00
logger: move pthread_t cast to pid_t into watchdog_initialize
avoids compile error on OSX, trying to cast pthread_t to pid_t
This commit is contained in:
parent
f2703abce0
commit
b8a94bf8d4
@ -960,12 +960,11 @@ void Logger::run()
|
||||
if (_writer.backend() & LogWriter::BackendFile) {
|
||||
|
||||
const pid_t pid_self = getpid();
|
||||
// The pthread_t ID is equal to the PID on NuttX
|
||||
const pid_t pid_writer = _writer.thread_id_file();
|
||||
const pthread_t writer_thread = _writer.thread_id_file();
|
||||
|
||||
// sched_note_start is already called from pthread_create and task_create,
|
||||
// which means we can expect to find the tasks in system_load.tasks, as required in watchdog_initialize
|
||||
watchdog_initialize(pid_self, pid_writer, timer_callback_data.watchdog_data);
|
||||
watchdog_initialize(pid_self, writer_thread, timer_callback_data.watchdog_data);
|
||||
}
|
||||
|
||||
hrt_call_every(&timer_call, _log_interval, _log_interval, timer_callback, &timer_callback_data);
|
||||
|
||||
@ -133,10 +133,13 @@ bool watchdog_update(watchdog_data_t &watchdog_data)
|
||||
|
||||
}
|
||||
|
||||
void watchdog_initialize(const pid_t pid_logger_main, const pid_t pid_logger_writer, watchdog_data_t &watchdog_data)
|
||||
void watchdog_initialize(const pid_t pid_logger_main, const pthread_t writer_thread, watchdog_data_t &watchdog_data)
|
||||
{
|
||||
#ifdef __PX4_NUTTX
|
||||
|
||||
// The pthread_t ID is equal to the PID on NuttX
|
||||
const pthread_t pid_logger_writer = writer_thread;
|
||||
|
||||
sched_lock(); // need to lock the tcb access
|
||||
|
||||
for (int i = 0; i < CONFIG_MAX_TASKS; i++) {
|
||||
|
||||
@ -58,7 +58,7 @@ struct watchdog_data_t {
|
||||
/**
|
||||
* Initialize the watchdog, fill in watchdog_data.
|
||||
*/
|
||||
void watchdog_initialize(const pid_t pid_logger_main, const pid_t pid_logger_writer, watchdog_data_t &watchdog_data);
|
||||
void watchdog_initialize(const pid_t pid_logger_main, const pthread_t writer_thread, watchdog_data_t &watchdog_data);
|
||||
|
||||
/**
|
||||
* Update the watchdog and trigger it if necessary. It is triggered when the log writer task is in
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user