mutex_owner
指定したカーネル相互排他ロックの現在の所有者にスレッド・ポインタを返します。
vmlinux`struct task_struct mutex_owner(vmlinux`struct mutex *)
mutex_owner
関数は、指定された適応型カーネル相互排他ロックの現在の所有者のスレッド・ポインタを返します。指定された適応型相互排他ロックの所有者が存在しない場合や、指定された相互排他ロックがスピン相互排他ロックの場合、mutex_owner
はNULL
を返します。
例7-29 mutex_ownerを使用してコール側スレッドが相互排他ロックの所有権を持っていないかどうかを確認する方法
fbt::mutex_lock:entry
{
this->mutex = arg0;
}
fbt::mutex_lock:return
{
this->owner = mutex_owner((struct mutex *)this->mutex);
}
fbt::mutex_lock:return
/this->owner != curthread/
{
printf("current thread is not current owner of owned lock\n");
exit(1);
}