هل أي وظائف POSIX أو ملحقات سي العمومية تنفذ شجرة الملفات اتساع الأول سيرا على الأقدام؟

StackOverflow https://stackoverflow.com/questions/1647572

سؤال

وأنا أكتب الخفي الذي يستخدم inotify لمراقبة الوصول إلى الملفات ومن الأهمية بمكان أن لا يغيب عن أي شيء في بحث العودية. لقد وجدت هذه الفكرة مثيرة للاهتمام و قد بدأت في تنفيذ ذلك.

وFTW () وftw64 () لا تستخدم خوارزمية اتساع الأول، في أكثر "مرحلة ما قبل النظام". nftw () يعطيني خيار العمق أولا، ولكن أنا قلق من السباقات في الأوراق العليا.

وأنا على أمل أن أنا في عداد المفقودين شيء، وربما تمديد GNU؟ أو أنا مجرد النظر في تنفيذ بلدي مع ظهور نوع مكالمة آمنة (شيء كنت حقا بل لا تفعل)؟

وأو أفهم من مزايا الاتساع اولا الإفراط في عمق الأول خاطئة لهذا النوع من التطبيق؟

هل كانت مفيدة؟

المحلول

وإذا نظرنا إلى المواصفات ل ' nftw () ، العلم FTW_DEPTH يقوم بعد النظام (عمق الأول) اجتياز، وزيارة الدلائل الفرعية قبل زيارة عقدة الدليل.

وأنا لا أعتقد أن أي من خوارزميات القياسية القيام بالبحث-اتساع الأول.

ويفترض، يجب أن تكتب bfftw () بناء على واجهة nftw (). لاحظ أن لديك إلى الانتظار البنود التي ستتم زيارتها بشكل متكرر (الدلائل) أثناء القيام الفحص.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top