私は Linux カーネル モジュールを持っています。トラフィックを送信するために、TCP サーバーと複数のクライアントを実装する必要がありました。質問がありました、
サーバー側には、受け入れられるのを待っているTCP接続を確認すると、別のkthreadを生成するmain-kthreadがあります。メインの kthread がいくつかの kthread を生成した後、main-kthread が終了する前に他の kthreads が確実に終了するように、main-kthread を待機状態にする方法を教えてください。
phtread-join セマンティクスに似たものを探していますが、Linux カーネル空間でこれが必要です。
kthread_join 自体が見つかりませんでした。代替手段を探しています。私はウェイトキューについて読みました。したがって、interruptible_sleep_on() と wake_up() を見ていました。しかし、これらの API の使用方法がわかりません。
たとえば
、メイン スレッドで、interruptible_sleep_on を実行すると、誰が彼を起こす必要がありますか? 他のすべてのスレッド、または最後のスレッド? 最後に終了したスレッドを特定するにはどうすればよいですか? また、この main-kthread が起動されたときに他のスレッドが終了していることを確認する方法。