Moving tss changes from thread_dev branch to HEAD

The thread_dev branch in CVS contains a number of changes to the thread_specific_ptr / tss implementation that I would like to move to the main branch. I plan to look at it more carefully before I do so, but will anyone interested please take a look at the implementation on the thread_dev branch to see if has any problems (or if there are known problems that it doesn't fix)? It contains changes to fix a number of issues with the current implementation, including, among others: 1) thread_specific_ptr::reset() doesn't check error: http://lists.boost.org/MailArchives/boost/msg55713.php. 2) Double deletes: http://lists.boost.org/MailArchives/boost/msg50266.php, http://lists.boost.org/MailArchives/boost/msg50543.php, http://lists.boost.org/MailArchives/boost/msg30433.php, http://lists.boost.org/MailArchives/boost-users/msg05531.php. 3) Not enough tss keys/slots: http://lists.boost.org/MailArchives/boost/msg55376.php, http://lists.boost.org/MailArchives/boost/msg55712.php. 4) Ability to register custom cleanup functions. For reference, see: tss.hpp, http://cvs.sourceforge.net/viewcvs.py/*checkout*/boost/boost/boost/thread/tss.hpp?content-type=text%2Fplain&rev=1.6.2.5 tss.cpp, http://cvs.sourceforge.net/viewcvs.py/*checkout*/boost/boost/libs/thread/src/tss.cpp?content-type=text%2Fplain&rev=1.6.2.4 threadmon.cpp, http://cvs.sourceforge.net/viewcvs.py/*checkout*/boost/boost/libs/thread/src/threadmon.cpp?content-type=text%2Fplain&rev=1.7.2.2 Mike

... will anyone interested please take a look at the implementation on the thread_dev branch to see if has any problems (or if there are known problems that it doesn't fix)?
The version that I checked out of CVS earlier this week seems to have had the support for Mac platforms removed. I'm not a Mac developer but presumably it wouldn't be good to move this version to HEAD without it? Malcolm Malcolm Noyes

"Malcolm Noyes" <boost@alchemise.com> wrote in message news:u0df40h8qk8r2bn7840v8nqfd6q5gbfo8k@4ax.com...
... will anyone interested please take a look at the implementation on the thread_dev branch to see if has any problems (or if there are known problems that it doesn't fix)?
The version that I checked out of CVS earlier this week seems to have had the support for Mac platforms removed. I'm not a Mac developer but presumably it wouldn't be good to move this version to HEAD without it?
Thanks for noticing this. It looks to me like the Mac platform implementation is partly in place but not finished, so I'll work on finishing it before I move it. Unfortunately, I won't be able to test or even build it for the Mac platform, so I'll need a volunteer to try it out once I think I've finished it. Anyone? Mike
Malcolm Malcolm Noyes _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Malcolm Noyes wrote:
... will anyone interested please take a look at the implementation on the thread_dev branch to see if has any problems (or if there are known problems that it doesn't fix)?
The version that I checked out of CVS earlier this week seems to have had the support for Mac platforms removed. I'm not a Mac developer but presumably it wouldn't be good to move this version to HEAD without it?
I've fixed this, but as I don't have access to a Mac platform I wasn't able to test if it compiled or ran. Somebody who does, please try it! Mike
Malcolm Malcolm Noyes _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

No comments, anyone? Mike Michael Glassford wrote:
The thread_dev branch in CVS contains a number of changes to the thread_specific_ptr / tss implementation that I would like to move to the main branch. I plan to look at it more carefully before I do so, but will anyone interested please take a look at the implementation on the thread_dev branch to see if has any problems (or if there are known problems that it doesn't fix)? It contains changes to fix a number of issues with the current implementation, including, among others:
1) thread_specific_ptr::reset() doesn't check error: http://lists.boost.org/MailArchives/boost/msg55713.php.
2) Double deletes: http://lists.boost.org/MailArchives/boost/msg50266.php, http://lists.boost.org/MailArchives/boost/msg50543.php, http://lists.boost.org/MailArchives/boost/msg30433.php, http://lists.boost.org/MailArchives/boost-users/msg05531.php.
3) Not enough tss keys/slots: http://lists.boost.org/MailArchives/boost/msg55376.php, http://lists.boost.org/MailArchives/boost/msg55712.php.
4) Ability to register custom cleanup functions.
For reference, see:
threadmon.cpp, http://cvs.sourceforge.net/viewcvs.py/*checkout*/boost/boost/libs/thread/src/threadmon.cpp?content-type=text%2Fplain&rev=1.7.2.2
Mike
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

No comments, anyone? Mike Michael Glassford wrote:
The thread_dev branch in CVS contains a number of changes to the thread_specific_ptr / tss implementation that I would like to move to the main branch. I plan to look at it more carefully before I do so, but will anyone interested please take a look at the implementation on the thread_dev branch to see if has any problems (or if there are known problems that it doesn't fix)? It contains changes to fix a number of issues with the current implementation, including, among others:
1) thread_specific_ptr::reset() doesn't check error: http://lists.boost.org/MailArchives/boost/msg55713.php.
2) Double deletes: http://lists.boost.org/MailArchives/boost/msg50266.php, http://lists.boost.org/MailArchives/boost/msg50543.php, http://lists.boost.org/MailArchives/boost/msg30433.php, http://lists.boost.org/MailArchives/boost-users/msg05531.php.
3) Not enough tss keys/slots: http://lists.boost.org/MailArchives/boost/msg55376.php, http://lists.boost.org/MailArchives/boost/msg55712.php.
4) Ability to register custom cleanup functions.
For reference, see:
threadmon.cpp, http://cvs.sourceforge.net/viewcvs.py/*checkout*/boost/boost/libs/thread/src/threadmon.cpp?content-type=text%2Fplain&rev=1.7.2.2
Mike
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

No comments, anyone?
If you're happy that the patches fix those issues and don't introduce new bugs, then I'd say go for it (in any case we're a while away from another full release, so there should be plenty of time to sort out any regressions). BTW are there test cases that demonstrate these bugs in the test suite as well ? John.

"John Maddock" <john@johnmaddock.co.uk> wrote in message news:020d01c40372$bcbec330$595f0352@fuji...
No comments, anyone?
If you're happy that the patches fix those issues and don't introduce new bugs, then I'd say go for it (in any case we're a while away from another full release, so there should be plenty of time to sort out any regressions). BTW are there test cases that demonstrate these bugs in the test suite as well ?
I haven't finished satisfying myself yet that the changes look correct (I'm in the process of doing so whenever I had a little spare time), and Malcolm Noyes has just pointed out to me that the Mac implementation isn't finshed so I need to work on that. I do also hope to add test cases to demonstrate at least some of the bugs. Thanks, Mike
John.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Michael Glassford wrote:
The thread_dev branch in CVS contains a number of changes to the thread_specific_ptr / tss implementation that I would like to move to the main branch. I plan to look at it more carefully before I do so, but will anyone interested please take a look at the implementation on the thread_dev branch to see if has any problems (or if there are known problems that it doesn't fix)? It contains changes to fix a number of issues with the current implementation, including, among others:
<list and links snipped> I have now checked these changes in. Anybody who is interested please take a look. Please note that I haven't updated the documentation yet; I'm working on this. Mike
participants (3)
-
John Maddock
-
Malcolm Noyes
-
Michael Glassford