Skip to content

Commit

Permalink
* prelude.rb, .document: Stuff in prelude.rb should be documented
Browse files Browse the repository at this point in the history
  as well.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
knu committed Mar 29, 2010
1 parent 05ac3da commit efe5dad
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 5 deletions.
3 changes: 3 additions & 0 deletions .document
Expand Up @@ -6,6 +6,9 @@
# Process all the C source files
*.c

# prelude
prelude.rb

# the lib/ directory (which has its own .document file)

lib
Expand Down
5 changes: 5 additions & 0 deletions 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
Expand Down
18 changes: 13 additions & 5 deletions 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
Expand All @@ -12,10 +14,16 @@ def synchronize
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
Expand Down

0 comments on commit efe5dad

Please sign in to comment.