[filesystem] Critical patch for Tru64

Attached patch fixes a long standing problem with boost.filesystem on Tru64 which has resulted in test failures since quite some time. It seems that readdir_r() on this platform behaves incorrect when errno is not set to 0 previous to calling readdir_r(). This problem now has become critical, as it shows up during regression testing with bb.v2, essentially prohibiting the report creation step of the regression test run. Therefore I would like to ask if this patch can be committed. Thanks, Markus Index: operations.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/filesystem/src/operations.cpp,v retrieving revision 1.17 diff -u -r1.17 operations.cpp --- operations.cpp 12 Feb 2006 23:18:45 -0000 1.17 +++ operations.cpp 17 Feb 2006 13:05:29 -0000 @@ -1187,6 +1187,8 @@ inline int readdir_r_simulator( DIR * dirp, struct dirent * entry, struct dirent ** result ) // *result set to 0 on end of directory { + errno = 0; + # if !defined(__CYGWIN__) \ && defined(_POSIX_THREAD_SAFE_FUNCTIONS) \ && defined(_SC_THREAD_SAFE_FUNCTIONS) \ @@ -1197,7 +1199,6 @@ # endif struct dirent * p; - errno = 0; *result = 0; if ( (p = ::readdir( dirp )) == 0 ) return errno;

"Markus Schöpflin" <markus.schoepflin@comsoft.de> wrote in message news:dt4j9j$hh0$1@sea.gmane.org...
Attached patch fixes a long standing problem with boost.filesystem on Tru64 which has resulted in test failures since quite some time.
It seems that readdir_r() on this platform behaves incorrect when errno is not set to 0 previous to calling readdir_r().
This problem now has become critical, as it shows up during regression testing with bb.v2, essentially prohibiting the report creation step of the regression test run.
Therefore I would like to ask if this patch can be committed.
Done. Thanks! --Beman
participants (2)
-
Beman Dawes
-
Markus Schöpflin