4
私はpthread_mutex_init
とpthread_mutex_lock
を使ってスレッドの相互排除を実装できることを知っています。しかし、私はkthread
でカーネルモジュールにどのように実装できますか?スレッド・ミューテックスをkthreadで実装するには?
私はpthread_mutex_init
とpthread_mutex_lock
を使ってスレッドの相互排除を実装できることを知っています。しかし、私はkthread
でカーネルモジュールにどのように実装できますか?スレッド・ミューテックスをkthreadで実装するには?
pthread_mutex_*
関数はユーザ空間のみの呼び出しなので使用できません。ありがとうございました、あなたが提供するリンクが私には非常に便利です
struct mutex my_mutex; /* shared between the threads */
mutex_init(&my_mutex); /* called only ONCE */
/* inside a thread */
mutex_lock(&my_lock);
/* do the work with the data you're protecting */
mutex_unlock(&my_lock);
:カーネルでの使用にlinux/mutex.hが提供するミューテックスを使用! –