Этот ответ рекомендует fts
в качестве хорошего способа повторного входа в файловую систему.При чтении man-страниц , однако, я заметил, что fts_read
и fts_children
помечены как MT-Unsafe
.
Я нигде не смог найти информацию о том, почему он был помечен как таковой.Я нашел этот поток , поэтому я подозреваю, что причина в том, что вызывается chdir
(два потока будут пытаться chdir
процесс одновременно, это не может быть хорошим).
Если это так, я предполагаю, что прохождения FTS_NOCHDIR
будет достаточно для обеспечения безопасности потоков.Есть ли какая-то другая причина, которую я не вижу?
(И для протокола, я очень удивлен, что мы пришли к этому дню без хорошего реентерабельного, разумного использования способа сканирования через дерево файловой системы! Серьезно? ☺)