2012-06-17 4 views
3

C 프로그램의 일부 파일을 모니터링하기 위해 inotify를 사용하고 싶습니다.다중 스레드 프로그램에서 Inotify에 시계 추가하기

하나의 스레드가 inotify 설명자 (inotify_init에 의해 반환 된 것)에서 읽는 것이 안전하고 일부 이벤트가 발생할 때까지 차단되므로이 대기 중에 대기열에 새로운 파일을 추가 할 가능성이 inotify_add_watch 다른 스레드 대기 기간 동안.

이러한 작업을 동기화해야합니까, 그렇지 않으면 안전합니까?

+0

이 호에 대한 뉴스는 누구입니까? – duedl0r

답변

1

정답은 없지만 inotify를 사용중인 스레드에서 read()를 트리거하지 않으면 다른 스레드에서 파일을 열 수 없다는 것을 알고 있습니다. 다른 스레드에서 파일 io를 허용하려면 IN_CLOEXEC 플래그와 함께 inotify_init1()을 사용해야한다는 것을 기억합니다. 만약 당신이 실제로 하나 이상의 스레드에서 동시에 inotify를 사용할 수 있다는 것을 나는 확신하지 못합니다.

관련 문제