【发布时间】:2019-05-27 23:18:36
【问题描述】:
我的意思不是锁定文件!
我想要实现的是所有其他线程都应该毫无问题地访问该文件,但在某些情况下,我希望通过 dup2(2)、ftruncate(2) 等 fd 访问该文件的调用失败。一种选择是为所有此类函数(如 dup2(2))制作一个包装器,它将首先检查是否允许 fd,然后调用真正的 dup2(2)。但是,每次使用 fd 调用 sys 时,这是一项漫长的任务。
如果有解决方案可以密码保护文件,以便只有在给出指定密码时才能访问它。
我的库被注入匿名进程,所以我无法控制调用者,我观察到匿名进程在使用 fd 之前不会检查它。它最终使用了我的库正在使用的 fd。
请不要抱怨设计问题。请只关注问题。
【问题讨论】:
标签: c file-access