C inotify_事件返回wd-1

C inotify_事件返回wd-1,c,linux,inotify,C,Linux,Inotify,我正在使用INOTIFY_init()初始化INOTIFY,并调用read,不带掩码标志。当我想使用watch描述符wd时,我可以看到它返回值为-1。阅读手册页时,我可以看到仅当偶数队列溢出时才设置此值,但仅当read调用在_Q_溢出中设置了mas位时才设置此值,因此这不是我的情况 将wd设置为-1的原因是什么?除此之外,read没有返回-1,因此这意味着在此过程中没有错误。然后您误读了手册,清楚地说: 成功后,这些系统调用将返回一个新的文件描述符。在出现错误时,返回-1,并设置errno以指示

我正在使用
INOTIFY_init()
初始化
INOTIFY
,并调用
read
,不带掩码标志。当我想使用watch描述符
wd
时,我可以看到它返回值为-1。阅读手册页时,我可以看到仅当偶数队列溢出时才设置此值,但仅当read调用在_Q_溢出中设置了mas位时才设置此值,因此这不是我的情况


将wd设置为-1的原因是什么?除此之外,read没有返回-1,因此这意味着在此过程中没有错误。

然后您误读了手册,清楚地说:

成功后,这些系统调用将返回一个新的文件描述符。在出现错误时,返回-1,并设置errno以指示错误


所以看看埃罗诺,看看你做错了什么。

你完全正确。我没有读手册。当他们提到'mask'时,我认为它是一个设置为read参数的位标志,而不是一个从notify_事件的'mask'参数中进行位智能化的标志。