Ключевой концепцией здесь является то, что вы не должны напрямую идентифицировать процессы - вы должны идентифицировать конкретные struct file
s. Новый struct file
создается каждый раз, когда ваш файл open()
-ed.
На самом деле вам вообще не нужно добавлять какие-либо данные в struct file
- вы можете просто превратить свой список PID в список struct file *
с, указывая на struct file
, которые в настоящее время имеют ваши файл открыт.
Однако, было бы более эффективно иметь указатель private_data
точки struct file
на узле в вашем списке, который содержит указатель на этот struct file
(это позволит вам быстро найти этот узел, когда вы работаете с ним, а не сканируете список).