summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.document3
-rw-r--r--ChangeLog5
-rw-r--r--prelude.rb18
3 files changed, 21 insertions, 5 deletions
diff --git a/.document b/.document
index 746ca29..8a05d61 100644
--- a/.document
+++ b/.document
@@ -6,6 +6,9 @@
# Process all the C source files
*.c
+# prelude
+prelude.rb
+
# the lib/ directory (which has its own .document file)
lib
diff --git a/ChangeLog b/ChangeLog
index 4a750e2..8a4c9ea 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Mar 29 21:47:44 2010 Akinori MUSHA <knu@iDaemons.org>
+
+ * prelude.rb, .document: Stuff in prelude.rb should be documented
+ as well.
+
Mon Mar 29 20:23:05 2010 Keiju Ishitsuka <keiju@ruby-lang.org>
* lib/matrix.rb(Vector#each2, Vector#collect2): add type check for
diff --git a/prelude.rb b/prelude.rb
index 1d084df..40fca6a 100644
--- a/prelude.rb
+++ b/prelude.rb
@@ -1,7 +1,9 @@
-
-# Mutex
-
class Mutex
+ # call-seq:
+ # mutex.synchronize { ... }
+ #
+ # Obtains a lock, runs the block, and releases the lock when the
+ # block completes. See the example under Mutex.
def synchronize
self.lock
begin
@@ -12,10 +14,16 @@ class Mutex
end
end
-# Thread
-
class Thread
+ # :nodoc:
MUTEX_FOR_THREAD_EXCLUSIVE = Mutex.new
+
+ # call-seq:
+ # Thread.exclusive { block } => obj
+ #
+ # Wraps a block in Thread.critical, restoring the original value
+ # upon exit from the critical section, and returns the value of the
+ # block.
def self.exclusive
MUTEX_FOR_THREAD_EXCLUSIVE.synchronize{
yield