1 | <html> |
---|
2 | <head> |
---|
3 | <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> |
---|
4 | <title>Release Notes</title> |
---|
5 | <link rel="stylesheet" href="../boostbook.css" type="text/css"> |
---|
6 | <meta name="generator" content="DocBook XSL Stylesheets V1.69.1"> |
---|
7 | <link rel="start" href="../index.html" title="The Boost C++ Libraries"> |
---|
8 | <link rel="up" href="../threads.html" title="Chapter 12. Boost.Threads"> |
---|
9 | <link rel="prev" href="implementation_notes.html" title="Implementation Notes"> |
---|
10 | <link rel="next" href="../thread/acknowledgements.html" title="Acknowledgements"> |
---|
11 | </head> |
---|
12 | <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> |
---|
13 | <table cellpadding="2" width="100%"> |
---|
14 | <td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td> |
---|
15 | <td align="center"><a href="../../../index.htm">Home</a></td> |
---|
16 | <td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td> |
---|
17 | <td align="center"><a href="../../../people/people.htm">People</a></td> |
---|
18 | <td align="center"><a href="../../../more/faq.htm">FAQ</a></td> |
---|
19 | <td align="center"><a href="../../../more/index.htm">More</a></td> |
---|
20 | </table> |
---|
21 | <hr> |
---|
22 | <div class="spirit-nav"> |
---|
23 | <a accesskey="p" href="implementation_notes.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../thread/acknowledgements.html"><img src="../images/next.png" alt="Next"></a> |
---|
24 | </div> |
---|
25 | <div class="section" lang="en"> |
---|
26 | <div class="titlepage"><div><div><h3 class="title"> |
---|
27 | <a name="threads.release_notes"></a>Release Notes</h3></div></div></div> |
---|
28 | <div class="toc"><dl><dt><span class="section"><a href="release_notes.html#threads.release_notes.boost_1_32_0">Boost 1.32.0</a></span></dt></dl></div> |
---|
29 | <div class="section" lang="en"> |
---|
30 | <div class="titlepage"><div><div><h4 class="title"> |
---|
31 | <a name="threads.release_notes.boost_1_32_0"></a>Boost 1.32.0</h4></div></div></div> |
---|
32 | <div class="toc"><dl> |
---|
33 | <dt><span class="section"><a href="release_notes.html#threads.release_notes.boost_1_32_0.change_log.documentation">Documentation converted to BoostBook</a></span></dt> |
---|
34 | <dt><span class="section"><a href="release_notes.html#threads.release_notes.boost_1_32_0.change_log.static_link">Statically-link build option added</a></span></dt> |
---|
35 | <dt><span class="section"><a href="release_notes.html#threads.release_notes.boost_1_32_0.change_log.barrier">Barrier functionality added</a></span></dt> |
---|
36 | <dt><span class="section"><a href="release_notes.html#threads.release_notes.boost_1_32_0.change_log.read_write_mutex">Read/write mutex functionality added</a></span></dt> |
---|
37 | <dt><span class="section"><a href="release_notes.html#threads.release_notes.boost_1_32_0.change_log.thread_specific_ptr">Thread-specific pointer functionality changed</a></span></dt> |
---|
38 | <dt><span class="section"><a href="release_notes.html#threads.release_notes.boost_1_32_0.change_log.mutex">Mutex implementation changed for Win32</a></span></dt> |
---|
39 | <dt><span class="section"><a href="release_notes.html#threads.release_notes.boost_1_32_0.change_log.wince">Windows CE support improved</a></span></dt> |
---|
40 | </dl></div> |
---|
41 | <div class="section" lang="en"> |
---|
42 | <div class="titlepage"><div><div><h5 class="title"> |
---|
43 | <a name="threads.release_notes.boost_1_32_0.change_log.documentation"></a>Documentation converted to BoostBook</h5></div></div></div> |
---|
44 | <p>The documentation was converted to BoostBook format, |
---|
45 | and a number of errors and inconsistencies were |
---|
46 | fixed in the process. |
---|
47 | Since this was a fairly large task, there are likely to be |
---|
48 | more errors and inconsistencies remaining. If you find any, |
---|
49 | please report them!</p> |
---|
50 | </div> |
---|
51 | <div class="section" lang="en"> |
---|
52 | <div class="titlepage"><div><div><h5 class="title"> |
---|
53 | <a name="threads.release_notes.boost_1_32_0.change_log.static_link"></a>Statically-link build option added</h5></div></div></div> |
---|
54 | <p>The option to link <span class="bold"><strong>Boost.Threads</strong></span> as a static |
---|
55 | library has been added (with some limitations on Win32 platforms). |
---|
56 | This feature was originally removed from an earlier version |
---|
57 | of Boost because <code class="computeroutput"><a href="../thread_specific_ptr.html" title="Class thread_specific_ptr">boost::thread_specific_ptr</a></code> |
---|
58 | required that <span class="bold"><strong>Boost.Threads</strong></span> be dynamically linked in order |
---|
59 | for its cleanup functionality to work on Win32 platforms. |
---|
60 | Because this limitation never applied to non-Win32 platforms, |
---|
61 | because significant progress has been made in removing |
---|
62 | the limitation on Win32 platforms (many thanks to |
---|
63 | Aaron LaFramboise and Roland Scwarz!), and because the lack |
---|
64 | of static linking is one of the most common complaints of |
---|
65 | <span class="bold"><strong>Boost.Threads</strong></span> users, this decision was reversed.</p> |
---|
66 | <p>On non-Win32 platforms: |
---|
67 | To choose the dynamically linked version of <span class="bold"><strong>Boost.Threads</strong></span> |
---|
68 | using Boost's auto-linking feature, #define BOOST_THREAD_USE_DLL; |
---|
69 | to choose the statically linked version, |
---|
70 | #define BOOST_THREAD_USE_LIB. |
---|
71 | If neither symbols is #defined, the default will be chosen. |
---|
72 | Currently the default is the statically linked version.</p> |
---|
73 | <p>On Win32 platforms using VC++: |
---|
74 | Use the same #defines as for non-Win32 platforms |
---|
75 | (BOOST_THREAD_USE_DLL and BOOST_THREAD_USE_LIB). |
---|
76 | If neither is #defined, the default will be chosen. |
---|
77 | Currently the default is the statically linked version |
---|
78 | if the VC++ run-time library is set to |
---|
79 | "Multi-threaded" or "Multi-threaded Debug", and |
---|
80 | the dynamically linked version |
---|
81 | if the VC++ run-time library is set to |
---|
82 | "Multi-threaded DLL" or "Multi-threaded Debug DLL".</p> |
---|
83 | <p>On Win32 platforms using compilers other than VC++: |
---|
84 | Use the same #defines as for non-Win32 platforms |
---|
85 | (BOOST_THREAD_USE_DLL and BOOST_THREAD_USE_LIB). |
---|
86 | If neither is #defined, the default will be chosen. |
---|
87 | Currently the default is the dynamically linked version |
---|
88 | because it has not yet been possible to implement automatic |
---|
89 | tss cleanup in the statically linked version for compilers |
---|
90 | other than VC++, although it is hoped that this will be |
---|
91 | possible in a future version of <span class="bold"><strong>Boost.Threads</strong></span>. |
---|
92 | |
---|
93 | Note for advanced users: <span class="bold"><strong>Boost.Threads</strong></span> provides several "hook" |
---|
94 | functions to allow users to experiment with the statically |
---|
95 | linked version on Win32 with compilers other than VC++. |
---|
96 | These functions are on_process_enter(), on_process_exit(), |
---|
97 | on_thread_enter(), and on_thread_exit(), and are defined |
---|
98 | in tls_hooks.cpp. See the comments in that file for more |
---|
99 | information.</p> |
---|
100 | </div> |
---|
101 | <div class="section" lang="en"> |
---|
102 | <div class="titlepage"><div><div><h5 class="title"> |
---|
103 | <a name="threads.release_notes.boost_1_32_0.change_log.barrier"></a>Barrier functionality added</h5></div></div></div> |
---|
104 | <p>A new class, <code class="computeroutput"><a href="../barrier.html" title="Class barrier">boost::barrier</a></code>, was added.</p> |
---|
105 | </div> |
---|
106 | <div class="section" lang="en"> |
---|
107 | <div class="titlepage"><div><div><h5 class="title"> |
---|
108 | <a name="threads.release_notes.boost_1_32_0.change_log.read_write_mutex"></a>Read/write mutex functionality added</h5></div></div></div> |
---|
109 | <p>New classes, |
---|
110 | <code class="computeroutput">boost::read_write_mutex</code>, |
---|
111 | <code class="computeroutput">boost::try_read_write_mutex</code>, and |
---|
112 | <code class="computeroutput">boost::timed_read_write_mutex</code> |
---|
113 | were added. |
---|
114 | |
---|
115 | </p> |
---|
116 | <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"> |
---|
117 | <h3 class="title">Note</h3>Since the read/write mutex and related classes are new, |
---|
118 | both interface and implementation are liable to change |
---|
119 | in future releases of <span class="bold"><strong>Boost.Threads</strong></span>. |
---|
120 | The lock concepts and lock promotion in particular are |
---|
121 | still under discussion and very likely to change.</div> |
---|
122 | </div> |
---|
123 | <div class="section" lang="en"> |
---|
124 | <div class="titlepage"><div><div><h5 class="title"> |
---|
125 | <a name="threads.release_notes.boost_1_32_0.change_log.thread_specific_ptr"></a>Thread-specific pointer functionality changed</h5></div></div></div> |
---|
126 | <p>The <code class="computeroutput"><a href="../thread_specific_ptr.html" title="Class thread_specific_ptr">boost::thread_specific_ptr</a></code> |
---|
127 | constructor now takes an optional pointer to a cleanup function that |
---|
128 | is called to release the thread-specific data that is being pointed |
---|
129 | to by <code class="computeroutput"><a href="../thread_specific_ptr.html" title="Class thread_specific_ptr">boost::thread_specific_ptr</a></code> objects.</p> |
---|
130 | <p>Fixed: the number of available thread-specific storage "slots" |
---|
131 | is too small on some platforms.</p> |
---|
132 | <p>Fixed: <code class="computeroutput">thread_specific_ptr::reset()</code> |
---|
133 | doesn't check error returned by <code class="computeroutput">tss::set()</code> |
---|
134 | (the <code class="computeroutput">tss::set()</code> function now throws |
---|
135 | if it fails instead of returning an error code).</p> |
---|
136 | <p>Fixed: calling |
---|
137 | <code class="computeroutput">boost::thread_specific_ptr::reset()</code> or |
---|
138 | <code class="computeroutput">boost::thread_specific_ptr::release()</code> |
---|
139 | causes double-delete: once when |
---|
140 | <code class="computeroutput">boost::thread_specific_ptr::reset()</code> or |
---|
141 | <code class="computeroutput">boost::thread_specific_ptr::release()</code> |
---|
142 | is called and once when |
---|
143 | <code class="computeroutput">boost::thread_specific_ptr::~thread_specific_ptr()</code> |
---|
144 | is called.</p> |
---|
145 | </div> |
---|
146 | <div class="section" lang="en"> |
---|
147 | <div class="titlepage"><div><div><h5 class="title"> |
---|
148 | <a name="threads.release_notes.boost_1_32_0.change_log.mutex"></a>Mutex implementation changed for Win32</h5></div></div></div> |
---|
149 | <p>On Win32, <code class="computeroutput"><a href="../mutex.html" title="Class mutex">boost::mutex</a></code>, |
---|
150 | <code class="computeroutput"><a href="../try_mutex.html" title="Class try_mutex">boost::try_mutex</a></code>, <code class="computeroutput"><a href="../recursive_mutex.html" title="Class recursive_mutex">boost::recursive_mutex</a></code>, |
---|
151 | and <code class="computeroutput"><a href="../recursive_try_mutex.html" title="Class recursive_try_mutex">boost::recursive_try_mutex</a></code> now use a Win32 critical section |
---|
152 | whenever possible; otherwise they use a Win32 mutex. As before, |
---|
153 | <code class="computeroutput"><a href="../timed_mutex.html" title="Class timed_mutex">boost::timed_mutex</a></code> and |
---|
154 | <code class="computeroutput"><a href="../recursive_timed_mutex.html" title="Class recursive_timed_mutex">boost::recursive_timed_mutex</a></code> use a Win32 mutex.</p> |
---|
155 | </div> |
---|
156 | <div class="section" lang="en"> |
---|
157 | <div class="titlepage"><div><div><h5 class="title"> |
---|
158 | <a name="threads.release_notes.boost_1_32_0.change_log.wince"></a>Windows CE support improved</h5></div></div></div> |
---|
159 | <p>Minor changes were made to make Boost.Threads work on Windows CE.</p> |
---|
160 | </div> |
---|
161 | </div> |
---|
162 | </div> |
---|
163 | <table width="100%"><tr> |
---|
164 | <td align="left"><small><p>Last revised: August 05, 2004 at 18:07:20 GMT</p></small></td> |
---|
165 | <td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td> |
---|
166 | </tr></table> |
---|
167 | <hr> |
---|
168 | <div class="spirit-nav"> |
---|
169 | <a accesskey="p" href="implementation_notes.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../thread/acknowledgements.html"><img src="../images/next.png" alt="Next"></a> |
---|
170 | </div> |
---|
171 | </body> |
---|
172 | </html> |
---|