about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBen Blum <bblum@andrew.cmu.edu>2013-06-13 15:20:38 -0400
committerBen Blum <bblum@andrew.cmu.edu>2013-06-13 15:20:38 -0400
commit2ef8774ac5b56ae264224d46ffa0078f5d39ce6c (patch)
tree9d801d5fe4ed95ee7a88eea37ffa805b2d42cc4c
parent57cb44dbeb0856e3f1b2a58b0b381fc37c65c53c (diff)
downloadrust-2ef8774ac5b56ae264224d46ffa0078f5d39ce6c.tar.gz
rust-2ef8774ac5b56ae264224d46ffa0078f5d39ce6c.zip
Improve comments in sync and arc a bit more.
-rw-r--r--src/libextra/arc.rs8
-rw-r--r--src/libextra/sync.rs8
2 files changed, 9 insertions, 7 deletions
diff --git a/src/libextra/arc.rs b/src/libextra/arc.rs
index 197e3e44105..b1bec1f95db 100644
--- a/src/libextra/arc.rs
+++ b/src/libextra/arc.rs
@@ -380,12 +380,12 @@ impl<T:Const + Owned> RWARC<T> {
      * # Example
      *
      * ~~~ {.rust}
-     * do arc.write_downgrade |write_mode| {
-     *     do (&write_mode).write_cond |state, condvar| {
+     * do arc.write_downgrade |mut write_token| {
+     *     do write_token.write_cond |state, condvar| {
      *         ... exclusive access with mutable state ...
      *     }
-     *     let read_mode = arc.downgrade(write_mode);
-     *     do (&read_mode).read |state| {
+     *     let read_token = arc.downgrade(write_token);
+     *     do read_token.read |state| {
      *         ... shared access with immutable state ...
      *     }
      * }
diff --git a/src/libextra/sync.rs b/src/libextra/sync.rs
index 86cc014f714..5930bf50ff7 100644
--- a/src/libextra/sync.rs
+++ b/src/libextra/sync.rs
@@ -598,6 +598,8 @@ impl RWlock {
         // solves this because T1 will hold order_lock while waiting on access,
         // which will cause T3 to have to wait until T1 finishes its write,
         // which can't happen until T2 finishes the downgrade-read entirely.
+        // The astute reader will also note that making waking writers use the
+        // order_lock is better for not starving readers.
         unsafe {
             do task::unkillable {
                 (&self.order_lock).acquire();
@@ -622,12 +624,12 @@ impl RWlock {
      * # Example
      *
      * ~~~ {.rust}
-     * do lock.write_downgrade |write_token| {
-     *     do (&write_token).write_cond |condvar| {
+     * do lock.write_downgrade |mut write_token| {
+     *     do write_token.write_cond |condvar| {
      *         ... exclusive access ...
      *     }
      *     let read_token = lock.downgrade(write_token);
-     *     do (&read_token).read {
+     *     do read_token.read {
      *         ... shared access ...
      *     }
      * }