POSIX 기능 또는 GLIBC 확장자가 폭이 넓은 파일 트리 워크를 구현합니까?
-
22-07-2019 - |
문제
파일 액세스를 모니터링하기 위해 Inotify를 사용하는 데몬을 작성하고 있으며 재귀 검색에서 아무것도 놓치지 않는 것이 중요합니다. 나는 찾았다 이 흥미로운 아이디어 그리고 그것을 구현하기 시작했습니다.
ftw () 및 ftw64 ()는 폭이 큰 알고리즘을 사용하지 않습니다. nftw ()는 나에게 깊이 우선의 옵션을 제공하지만, 나는 상단 잎의 종족에 대해 걱정합니다.
나는 아마도 GNU 확장을 놓치기를 바라고 있습니까? 아니면 유형의 안전한 콜백으로 내 자신의 구현을보고 있습니까 (실제로하지 않는 것)?
아니면이 유형의 응용 프로그램에 대한 깊이 우선 첫 번째에 대한 폭의 우선의 장점에 대한 나의 이해가 있습니까?
해결책
Spec 'for'를보고nftw ()', ftw_depth 플래그는 디렉토리 노드를 방문하기 전에 하위 다이렉터를 방문하여 우편 주문 (깊이 우선) 트래버스를 수행합니다.
표준 알고리즘 중 어느 것도 폭이 큰 검색을한다고 생각하지 않습니다.
아마도 nftw () 인터페이스를 기반으로 bfftw ()를 작성해야합니다. 스캔을하는 동안 재귀 적으로 방문 할 항목을 대기해야합니다.
제휴하지 않습니다 StackOverflow