例如,我有两个进程A和B尝试打开一个特殊文件(
/dev/example
)。驱动程序有一个open 方法来初始化一个结构体(struct C
)并将其传递给 filp->private_data
。当后来的进程B打开相同的特殊文件时,如果我理解正确,会有两个struct file
的实例(即指向同一struct file
的两个filp指针)。open方法是否会再次初始化struct C
并将其传递给filp->private_data
,那么进程A初始化的struct C
会发生什么?
open()
函数,不同的函数会有不同的结果吗? - mark4rdopen
是一个系统调用的包装器,我主要想知道要查找哪些文档。 - Patrick Collinsopen()
的调用方可能是有意义的。而在其他情况下,为每个用户生成唯一的结构可能更合适。在没有更多有关驱动程序(可能包括代码)的信息的情况下,无法确定哪种适合本例。 - twalbergfopen()
中使用O_APPEND
,我相信两个进程可以同时写入文件... - shkschneider