错误的文件创建日期& vnode分别在用户进程和kauth系统中创建日期

时间:2014-05-13 12:01:55

标签: objective-c xcode cocoa kernel-extension

我正在使用kauth系统来监控文件特定的更改。 在我的KAUTH_FILEOP_SCOPE侦听器中,当我收到任何通知时,我将其发送(入队)到用户进程。 在我尝试使用

访问文件创建日期的用户进程中
[[NSFileManager defaultManager] attributesOfItemAtPath:path error:&error];

它发生在1904年1月1日。

我尝试将vnode创建时间传递给KAUTH_FILEOP_CLOSE案例中的用户进程 它也是1904年1月1日。

[NSDate dateWithTimeIntervalSince1970:-2082844800];

如果我在用户进程中引入睡眠假设2到3秒。我正在获得正确的创作日期。

为什么系统表现如此? 天气我做错了什么?

我已经搜索并做了很多研发以找到解决方案但没有成功。 什么是解决方案,因为我不想在我的程序中睡觉?

1 个答案:

答案 0 :(得分:0)

您可能会发现kauth事件在文件修复之前触发。你不能使用kevents或类似的通知机制吗?我怀疑这会在以后发生。