Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_33_1/libs/thread/doc/release_notes.xml @ 12

Last change on this file since 12 was 12, checked in by landauf, 17 years ago

added boost

File size: 6.4 KB
Line 
1<?xml version="1.0" encoding="utf-8"?>
2<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
3  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd" [
4  <!ENTITY % threads.entities SYSTEM "entities.xml">
5  %threads.entities;
6]>
7<section id="threads.release_notes" last-revision="$Date: 2004/08/05 18:07:20 $">
8        <title>Release Notes</title>
9        <section id="threads.release_notes.boost_1_32_0">
10                <title>Boost 1.32.0</title>
11
12                <section id="threads.release_notes.boost_1_32_0.change_log.documentation">
13                        <title>Documentation converted to BoostBook</title>
14
15                        <para>The documentation was converted to BoostBook format,
16                        and a number of errors and inconsistencies were
17                        fixed in the process.
18                        Since this was a fairly large task, there are likely to be
19                        more errors and inconsistencies remaining. If you find any,
20                        please report them!</para>
21                </section>
22
23                <section id="threads.release_notes.boost_1_32_0.change_log.static_link">
24                        <title>Statically-link build option added</title>
25
26                        <para>The option to link &Boost.Threads; as a static
27                        library has been added (with some limitations on Win32 platforms).
28                        This feature was originally removed from an earlier version
29                        of Boost because <classname>boost::thread_specific_ptr</classname>
30                        required that &Boost.Threads; be dynamically linked in order
31                        for its cleanup functionality to work on Win32 platforms.
32                        Because this limitation never applied to non-Win32 platforms,
33                        because significant progress has been made in removing
34                        the limitation on Win32 platforms (many thanks to
35                        Aaron LaFramboise and Roland Scwarz!), and because the lack
36                        of static linking is one of the most common complaints of
37                        &Boost.Threads; users, this decision was reversed.</para>
38                       
39                        <para>On non-Win32 platforms:
40                        To choose the dynamically linked version of &Boost.Threads; 
41                        using Boost's auto-linking feature, #define BOOST_THREAD_USE_DLL;
42                        to choose the statically linked version,
43                        #define BOOST_THREAD_USE_LIB.
44                        If neither symbols is #defined, the default will be chosen.
45                        Currently the default is the statically linked version.</para>
46                       
47                        <para>On Win32 platforms using VC++:
48                        Use the same #defines as for non-Win32 platforms
49                        (BOOST_THREAD_USE_DLL and BOOST_THREAD_USE_LIB).
50                        If neither is #defined, the default will be chosen.
51                        Currently the default is the statically linked version
52                        if the VC++ run-time library is set to
53                        "Multi-threaded" or "Multi-threaded Debug", and
54                        the dynamically linked version
55                        if the VC++ run-time library is set to
56                        "Multi-threaded DLL" or "Multi-threaded Debug DLL".</para>
57                       
58                        <para>On Win32 platforms using compilers other than VC++:
59                        Use the same #defines as for non-Win32 platforms
60                        (BOOST_THREAD_USE_DLL and BOOST_THREAD_USE_LIB).
61                        If neither is #defined, the default will be chosen.
62                        Currently the default is the dynamically linked version
63                        because it has not yet been possible to implement automatic
64                        tss cleanup in the statically linked version for compilers
65                        other than VC++, although it is hoped that this will be
66                        possible in a future version of &Boost.Threads;.
67                       
68                        Note for advanced users: &Boost.Threads; provides several "hook"
69                        functions to allow users to experiment with the statically
70                        linked version on Win32 with compilers other than VC++.
71                        These functions are on_process_enter(), on_process_exit(),
72                        on_thread_enter(), and on_thread_exit(), and are defined
73                        in tls_hooks.cpp. See the comments in that file for more
74                        information.</para>
75                </section>
76               
77                <section id="threads.release_notes.boost_1_32_0.change_log.barrier">
78                        <title>Barrier functionality added</title>
79
80                        <para>A new class, <classname>boost::barrier</classname>, was added.</para>
81                </section>
82               
83                <section id="threads.release_notes.boost_1_32_0.change_log.read_write_mutex">
84                        <title>Read/write mutex functionality added</title>
85
86                        <para>New classes,
87                        <classname>boost::read_write_mutex</classname>,
88                        <classname>boost::try_read_write_mutex</classname>, and
89                        <classname>boost::timed_read_write_mutex</classname>
90                        were added.
91                       
92                        <note>Since the read/write mutex and related classes are new,
93                        both interface and implementation are liable to change
94                        in future releases of &Boost.Threads;.
95                        The lock concepts and lock promotion in particular are
96                        still under discussion and very likely to change.</note>
97                        </para>
98                </section>
99               
100                <section id="threads.release_notes.boost_1_32_0.change_log.thread_specific_ptr">
101                        <title>Thread-specific pointer functionality changed</title>
102
103                        <para>The <classname>boost::thread_specific_ptr</classname> 
104                        constructor now takes an optional pointer to a cleanup function that
105                        is called to release the thread-specific data that is being pointed
106                        to by <classname>boost::thread_specific_ptr</classname> objects.</para>
107
108                        <para>Fixed: the number of available thread-specific storage "slots"
109                        is too small on some platforms.</para>
110
111                        <para>Fixed: <functionname>thread_specific_ptr::reset()</functionname>
112                        doesn't check error returned by <functionname>tss::set()</functionname>
113                        (the <functionname>tss::set()</functionname> function now throws
114                        if it fails instead of returning an error code).</para>
115
116                        <para>Fixed: calling
117                        <functionname>boost::thread_specific_ptr::reset()</functionname> or
118                        <functionname>boost::thread_specific_ptr::release()</functionname>
119                        causes double-delete: once when
120                        <functionname>boost::thread_specific_ptr::reset()</functionname> or
121                        <functionname>boost::thread_specific_ptr::release()</functionname> 
122                        is called and once when
123                        <functionname>boost::thread_specific_ptr::~thread_specific_ptr()</functionname>
124                        is called.</para>
125                </section>
126
127                <section id="threads.release_notes.boost_1_32_0.change_log.mutex">
128                        <title>Mutex implementation changed for Win32</title>
129
130                        <para>On Win32, <classname>boost::mutex</classname>,
131                        <classname>boost::try_mutex</classname>, <classname>boost::recursive_mutex</classname>,
132                        and <classname>boost::recursive_try_mutex</classname> now use a Win32 critical section
133                        whenever possible; otherwise they use a Win32 mutex. As before,
134                        <classname>boost::timed_mutex</classname> and
135                        <classname>boost::recursive_timed_mutex</classname> use a Win32 mutex.</para>
136                </section>
137
138                <section id="threads.release_notes.boost_1_32_0.change_log.wince">
139                        <title>Windows CE support improved</title>
140
141                        <para>Minor changes were made to make Boost.Threads work on Windows CE.</para>
142                </section>
143        </section>
144</section>
Note: See TracBrowser for help on using the repository browser.