我想保证我写入sysfs文件(特别是/ sys / class / gpio / export文件)的内容与实际文件同步。我最初使用O_SYNC
标志打开文件的代码,我假设这样做了。但是,在另一段代码中,我尝试使用fsync()
,但它失败了EINVAL,man fsync
告诉我:
EROFS, EINVAL
fd is bound to a special file which does not support synchronization
我已检查代码以查找sysfs文件上的可能操作,但未找到任何类型的do_sync_write
或do_fsync
函数。
那么,打开sysfs文件时O_SYNC
标志是否有效?尝试打开不支持使用O_SYNC进行同步读/写的文件时,是否应该打开返回错误代码?
此致
吉尔赫尔梅