2013-03-25 38 views
0

我正在初始化INOTIFY使用inotify_init()和我打電話read沒有屏蔽標誌。當我想使用手錶描述符wd時,我可以看到它返回的值爲-1。讀取手冊頁我可以看到,只有當偶數隊列溢出時才設置此值,但只有在讀取調用將mas位設置爲IN_Q_OVERFLOW時纔會設置,這不是我的情況。inotify_event返回wd -1

什麼原因可能是wd設置爲-1?最重要的是,我沒有-1讀取返回,所以這意味着在這個過程中沒有錯誤。

回答

1

然後你誤讀了手動,inotify_init(2)清清楚楚地寫着:

成功時,這些系統調用返回一個新的文件描述符。出錯時,返回-1,並將errno設置爲指示錯誤。

所以看看errono,看看你做錯了什麼。

+0

你是完全正確的。我沒有閱讀手冊頁。當他們提到'mask'時,我認爲這是一個設置爲讀參數的標誌,而不是從notify_event的'mask'參數中設置的標誌。 –