Hi,

I'm getting a list of the file in a directory like that:

    fs::directory_iterator end ;
    for( fs::directory_iterator iter(myfilepath) ; iter != end ; ++iter )
    {...}

And at some point in this for loop, the ++operator never return, see callstack (single-thread build).

I found a related thread here: http://marc.info/?l=boost-users&m=118835374908173&w=2
I compiled boost in threaded and non-threaded mode and still have the same pb in both mode...

This bug reproduce with iphone os21 and os3.0, boost 1.38.0 (multi/single thread).

Anybody?

Thanks,
Frank



#0    0x31d41270 in swtch_pri
#1    0x31dd19cc in sched_yield
#2    0x000ac1d4 in boost::detail::yield at yield_k.hpp:110
#3    0x000adb54 in scoped_lock [inlined] at detail:45
#4    0x000adb54 in boost::detail::spinlock::lock at detail:32
#5    0x000adb54 in atomic_exchange_and_add [inlined] at detail:61
#6    0x000adb54 in boost::detail::sp_counted_base::release at detail:100
#7    0x000adb54 in boost::shared_ptr<boost::filesystem::detail::dir_itr_imp<boost::filesystem::basic_path<std::string, boost::filesystem::path_traits> > >::reset at detail:216
#8    0x000adb54 in boost::filesystem::basic_directory_iterator<boost::filesystem::basic_path<std::string, boost::filesystem::path_traits> >::increment
#9    0x0009cc44 in boost::iterator_core_access::increment<boost::filesystem::basic_directory_iterator<boost::filesystem::basic_path<std::string, boost::filesystem::path_traits> > > at iterator_facade.hpp:522
#10    0x0009cc64 in boost::iterator_facade<boost::filesystem::basic_directory_iterator<boost::filesystem::basic_path<std::string, boost::filesystem::path_traits> >, boost::filesystem::basic_directory_entry<boost::filesystem::basic_path<std::string, boost::filesystem::path_traits> >, boost::single_pass_traversal_tag, boost::filesystem::basic_directory_entry<boost::filesystem::basic_path<std::string, boost::filesystem::path_traits> >&, int>::operator++ at iterator_facade.hpp:664