Boost logo

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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30.1.1 Template Parameter Names [thread.tmplparmname]
 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30.1.2 Exceptions [thread.exception]
 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30.1.3 Native Handles [thread.native]
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30.1.4 Duration Timeout [thread.duration]
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30.1.5 Thread Safety [thread.safety]
+<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30.1.4 Duration Timeout [thread.duration]
 <br>&nbsp;&nbsp;&nbsp;&nbsp;30.2 Threads [thread.threads]
 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30.2.1 Class thread [thread.threads.class]
 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30.2.1.1 Class thread::id [thread.threads.id]
@@ -101,7 +100,7 @@
 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30.4.1 Class condition_variable [thread.condvar]
 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30.4.2 Class condition_variable_any [thread.condvarany]
 <br>Chapter 31   Date Time Library [time]
-<br>&nbsp;&nbsp;&nbsp;&nbsp;31.1 Duration Requirements [time.duration.requirements]
+<br>&nbsp;&nbsp;&nbsp;&nbsp;31.1 Duration requirements [time.duration.requirements]
 <br>&nbsp;&nbsp;&nbsp;&nbsp;31.2 Class nanoseconds [time.nanoseconds]
 <br>&nbsp;&nbsp;&nbsp;&nbsp;31.3 Class microseconds [time.microseconds]
 <br>&nbsp;&nbsp;&nbsp;&nbsp;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&nbsp;&nbsp; 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 @@
 &mdash;<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