В документации DirectoryStream четко указано:
Итератор слабо согласован. Это поточно-безопасный, но не заморозить каталог во время итерации, чтобы он мог (или не иметь) отражать обновления в каталоге, которые происходят после того, как DirectoryStream создано.
На моей машине я выполнил простую итерацию по каталогу в режиме отладки. Перед завершением итерации я нарушил выполнение, добавил файл в повторяющийся и возобновленный каталог. Итерация не увидела дополнительный файл.
Мой вопрос: при каких обстоятельствах итерация отражает обновления содержимого каталога? К сожалению, формальная документация очень смутно. По меньшей мере.