|
Boost-Commit : |
From: Lawrence_at_[hidden]
Date: 2007-12-08 12:31:38
Author: crowl
Date: 2007-12-08 12:31:37 EST (Sat, 08 Dec 2007)
New Revision: 41893
URL: http://svn.boost.org/trac/boost/changeset/41893
Log:
Clear last of Crowl: comments.
Text files modified:
sandbox/committee/LWG/thread_library.html | 76 ++++++++++++++++++++--------------------
1 files changed, 38 insertions(+), 38 deletions(-)
Modified: sandbox/committee/LWG/thread_library.html
==============================================================================
--- sandbox/committee/LWG/thread_library.html (original)
+++ sandbox/committee/LWG/thread_library.html 2007-12-08 12:31:37 EST (Sat, 08 Dec 2007)
@@ -71,8 +71,7 @@
<br> 30.1.1 Template Parameter Names [thread.tmplparmname]
<br> 30.1.2 Exceptions [thread.exception]
<br> 30.1.3 Native Handles [thread.native]
-<br> 30.1.4 Duration Timeout [thread.duration]
-<br> 30.1.5 Thread Safety [thread.safety]
+<br> 30.1.4 Duration Timeout [thread.duration]
<br> 30.2 Threads [thread.threads]
<br> 30.2.1 Class thread [thread.threads.class]
<br> 30.2.1.1 Class thread::id
[thread.threads.id]
@@ -101,7 +100,7 @@
<br> 30.4.1 Class condition_variable [thread.condvar]
<br> 30.4.2 Class condition_variable_any [thread.condvarany]
<br>Chapter 31 Date Time Library [time]
-<br> 31.1 Duration Requirements [time.duration.requirements]
+<br> 31.1 Duration requirements [time.duration.requirements]
<br> 31.2 Class nanoseconds [time.nanoseconds]
<br> 31.3 Class microseconds [time.microseconds]
<br> 31.4 Class milliseconds [time.milliseconds]
@@ -135,9 +134,7 @@
<li> Description of <code>thread::id</code> clarified.
</li>
-<li> All time-related functions have absolute and Duration time overloads
-except for condition variable wait not taking predicates.
-<b>[Crowl: Still under discussion.]</b>
+<li> All time-related functions have absolute and Duration time overloads.
</li>
<li> <code>native_handle</code> description consolidated to one place.
@@ -215,15 +212,6 @@
</ul>
-<p>
-<b>[Crowl:
-Currently, we inconsistently place synchronization under 'Effects:'
-and 'Thread safety:'.
-I think we would reduce confusion
-by separating the synchronization from the rest of the other attributes.
-That is, to have a named 'Sychronization:' attribute.]</b>
-</p>
-
<h2><a name="library">Chapter 17 Library introduction [library]</a></h2>
<p>
@@ -331,6 +319,19 @@
<h3><a name="thread.common">30.1 Common Issues [thread.common]</a></h3>
+<p>
+Unless otherwise stated,
+the thread-safety requirements of
+17.4.3.? ([constraints.?])
+and
+17.4.4.9 ([res.on.thread.safety])
+as proposed by
+<cite>
+<a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2007/n2410.html">
+N2410</a> Thread-Safety in the Standard Library (Rev 1)
+</cite>
+apply even to type and functions within this clause.
+</p>
<h4><a name="thread.tmplparmname">30.1.1 Template Parameter Names [thread.tmplparmname]</a></h4>
@@ -411,14 +412,6 @@
—<i>end note</i>]
</p>
-<h4><a name="thread.safety">30.1.5 Thread Safety [thread.safety]</a></h4>
-
-<p>
-<b>[Crowl: I think we need a general statement that
-operations on std::thread are not thread-safe unless specifically mentioned.
-]</b>
-</p>
-
<h3><a name="thread.threads">30.2 Threads [thread.threads]</a></h3>
@@ -1720,11 +1713,6 @@
during the lock's construction.
</p>
-<p>
-<b>[Crowl:
-The type and object definitions need comments as to their purpose.]</b>
-</p>
-
<blockquote>
<pre><code>
struct defer_lock_t {}; // do not obtain the lock
@@ -2660,21 +2648,23 @@
</dl>
<p>
-<b>[Crowl: An example with dynamic memory.]</b>
[<i>Example:</i>
</p>
<blockquote>
<pre><code>
-std::once_flag flag;
+// <em>global flag, regular function</em>
void init();
+std::once_flag flag;
void f()
{
std::call_once(flag,init);
}
+// <em>function static flag, function object</em>
+
struct initializer
{
void operator()();
@@ -2683,8 +2673,18 @@
void g()
{
static std::once_flag flag2;
- std::call_once(flag2,initializer());
+ std::call_once(flag2,initializer);
}
+
+// <em>object flag, member function</em>
+
+class information
+{
+ std::once_flag verfified;
+ void verifier();
+public:
+ void verify() { std::call_once(verified,verifier); }
+};
</code></pre>
</blockquote>
@@ -3710,7 +3710,7 @@
</table>
-<h3><a name="time.nanoseconds">32.2 Class nanoseconds [time.nanoseconds]</a></h3>
+<h3><a name="time.nanoseconds">31.2 Class nanoseconds [time.nanoseconds]</a></h3>
<p>
Objects of class <code>nanoseconds</code>
@@ -3771,7 +3771,7 @@
</dl>
</blockquote>
-<h3><a name="time.microseconds">32.3 Class microseconds [time.microseconds]</a></h3>
+<h3><a name="time.microseconds">31.3 Class microseconds [time.microseconds]</a></h3>
<p>
Objects of class <code>microseconds</code>
@@ -3848,7 +3848,7 @@
</dl>
</blockquote>
-<h3><a name="time.milliseconds">32.4 Class milliseconds [time.milliseconds]</a></h3>
+<h3><a name="time.milliseconds">31.4 Class milliseconds [time.milliseconds]</a></h3>
<p>
Objects of class <code>milliseconds</code>
@@ -3941,7 +3941,7 @@
</dl>
</blockquote>
-<h3><a name="time.seconds">32.5 Class seconds [time.seconds]</a></h3>
+<h3><a name="time.seconds">31.5 Class seconds [time.seconds]</a></h3>
<p>
Objects of class <code>seconds</code>
@@ -4049,7 +4049,7 @@
</dl>
</blockquote>
-<h3><a name="time.minutes">32.6 Class minutes [time.minutes]</a></h3>
+<h3><a name="time.minutes">31.6 Class minutes [time.minutes]</a></h3>
<p>
Objects of class <code>minutes</code>
@@ -4622,7 +4622,7 @@
</blockquote>
-<h3><a name="time.nonmembers">32.9 Non-member functions [time.nonmembers]</a></h3>
+<h3><a name="time.nonmembers">31.9 Non-member functions [time.nonmembers]</a></h3>
<pre><code>
system_time get_system_time();
@@ -4947,4 +4947,4 @@
</p>
</body>
-</html>
\ No newline at end of file
+</html>
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk