Subject: Re: [Boost-bugs] [Boost C++ Libraries] #1578: bug in readdir_r_simulator() in a multi-threaded environment
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2008-01-20 14:46:52
#1578: bug in readdir_r_simulator() in a multi-threaded environment
-----------------------------+----------------------------------------------
Reporter: raulh39_at_[hidden] | Owner: bemandawes
Type: Bugs | Status: assigned
Milestone: Boost 1.35.0 | Component: filesystem
Version: Boost 1.34.1 | Severity: Problem
Resolution: | Keywords:
-----------------------------+----------------------------------------------
Changes (by bemandawes):
* status: new => assigned
* milestone: => Boost 1.35.0
Comment:
Sun supplies both POSIX and non-POSIX versions of readdir_r, according to
http://docs.sun.com/app/docs/doc/819-2243/readdir-3c?a=view. The compliant
version is selected by defining _POSIX_PTHREAD_SEMANTICS.
So it looks to me that the fix for ticket #1578 (which is reporting the
bug that results when the non-POSIX version is used) is to define
_POSIX_PTHREAD_SEMANTICS at the beginning of boost-
root/libs/filesystem/src/operations.cpp. This will cause the POSIX version
to be used.
I don't have access to a Sun system so can't test that. There is also a
small chance that the same macro is used on some other platform in a
conflicting way.
I'd appreciate it if someone with access to a Sun system could test this
(using the program given in the #1578). If I don't hear anything in a day
or so, I'll go ahead and make the change to the trunk.
Thanks,
--Beman
--
Ticket URL: <http://svn.boost.org/trac/boost/ticket/1578#comment:1>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:49:57 UTC