如何知道某项任务是否已退出?

时间:2016-04-11 09:19:30

标签: android linux-kernel

我在项目中使用以下代码段

mutex_lock(&driver->diag_file_mutex);
if (driver->md_session_map[peripheral] &&
    driver->md_session_map[peripheral]->task) {
    stat = send_sig_info(info.si_signo, &info,
                 driver->md_session_map[peripheral]->task);
}
mutex_unlock(&driver->diag_file_mutex);

在这个特定场景中,其他一些进程正在释放驱动程序 - > md_session_map [peripheral] - >任务(任务的内存转储是0x6B6B6B6B,表示页面已被释放,而我的执行路径中的代码不是之前释放,导致内核恐慌。

由于值为0x6B6B6B6B,因此检入'if'条件无用。 Mutex也没有任何用处。

有没有办法检查条件,如果任务被释放,或者如果被释放通知我的驱动程序。急需帮助。

0 个答案:

没有答案