سؤال

أنا أستخدم مكالمة بوسيكس nftw() لاجتياز هيكل الدليل. هيكل الدليل مسطح - 4 ملفات فقط ولا دلالة فرعية.

ومع ذلك، عندما أسمي NFTW () عدة مرات في هذا الدليل المسطح، أحصل على رسالة خطأ بعد فترة من الوقت:

"too many open file handles".

اتضح أن هذا يحدث عندما العلم FTW_CHDIR يستخدم.

هل توافق على أنه خطأ في تطبيق Linux من NFTW ()؟

تحديث

الإصلاح متوفر الآن في مستودعات Glibc.

فيما يلي بعض الروابط إلى التعليمات البرمجية المصدر التي استخدمتها للاختبار:

تحديث

  • ماكوس X هو أيضا ضرب عن طريق الخطأ
  • Solaris9، Solaris10 و Aix 5.3 ليس لديك الأخطاء
هل كانت مفيدة؟

المحلول

بالنسبة لي يبدو أن هناك شيئا خاطئا حقا في nftw التنفيذ على لينكس.

لقد قدمت تقرير الأخطاء، انظر هنا

تحديث: الإصلاح متاح في مستودعات Glibc الآن.

نصائح أخرى

لديها نفس السلوك في نظام التشغيل Mac OS 10.6.2. لذلك ربما جزء بطريقة أو بأخرى من المواصفات، على الرغم من أنني لا أرى كيف بالضبط.

فيما يتعلق بنظام التشغيل Mac OS: BugReport المقدمة إلى Apple ك Radar # 7640283. (لا ارتباط تشعبي ممكن، لسوء الحظ.)

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