Skip to content

Commit a7acb85

Browse files
committed
Merge pull request #213 from pitr-ch/master
Fix links in README; Add google analytics
2 parents 821d47e + 6dcdd1a commit a7acb85

File tree

3 files changed

+23
-16
lines changed

3 files changed

+23
-16
lines changed

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -54,19 +54,19 @@ This library contains a variety of concurrency abstractions at high and low leve
5454

5555
### High-level, general-purpose asynchronous concurrency abstractions
5656

57-
* [Actor](./doc/actor/main.md): Implements the Actor Model, where concurrent actors exchange messages.
58-
* [Agent](./doc/agent.md): A single atomic value that represents an identity.
59-
* [Async](./doc/async.md): A mixin module that provides simple asynchronous behavior to any standard class/object or object.
60-
* [Future](./doc/future.md): An asynchronous operation that produces a value.
61-
* [Dataflow](./doc/dataflow.md): Built on Futures, Dataflow allows you to create a task that will be scheduled when all of its data dependencies are available.
62-
* [Promise](./doc/promise.md): Similar to Futures, with more features.
63-
* [ScheduledTask](./doc/scheduled_task.md): Like a Future scheduled for a specific future time.
57+
* [Actor](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Actor.html): Implements the Actor Model, where concurrent actors exchange messages.
58+
* [Agent](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Agent.html): A single atomic value that represents an identity.
59+
* [Async](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Async.html): A mixin module that provides simple asynchronous behavior to any standard class/object or object.
60+
* [Future](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Future.html): An asynchronous operation that produces a value.
61+
* [Dataflow](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Dataflow.html): Built on Futures, Dataflow allows you to create a task that will be scheduled when all of its data dependencies are available.
62+
* [Promise](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Promise.html): Similar to Futures, with more features.
63+
* [ScheduledTask](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/ScheduledTask.html): Like a Future scheduled for a specific future time.
6464
* [TimerTask](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/TimerTask.html): A Thread that periodically wakes up to perform work at regular intervals.
6565

6666

6767
### Java-inspired ThreadPools and other executors
6868

69-
* See [ThreadPool](./doc/thread_pools.md) overview, which also contains a list of other Executors available.
69+
* See [ThreadPool](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/ThreadPoolExecutor.html) overview, which also contains a list of other Executors available.
7070

7171
### Thread-safe Observers
7272

@@ -94,7 +94,7 @@ Lower-level abstractions mainly used as building blocks.
9494
* [I-Structures](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/IVar.html) (IVar)
9595
* [M-Structures](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/MVar.html) (MVar)
9696
* [thread-local variables](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/ThreadLocalVar.html)
97-
* [software transactional memory](./doc/tvar.md) (TVar)
97+
* [software transactional memory](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/TVar.html) (TVar)
9898

9999

100100

lib/concurrent/atomic/semaphore.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,12 @@ def try_acquire_timed(permits, timeout)
153153
if RUBY_PLATFORM == 'java'
154154

155155
# @!macro semaphore
156+
#
157+
# A counting semaphore. Conceptually, a semaphore maintains a set of permits. Each {#acquire} blocks if necessary
158+
# until a permit is available, and then takes it. Each {#release} adds a permit,
159+
# potentially releasing a blocking acquirer.
160+
# However, no actual permit objects are used; the Semaphore just keeps a count of the number available and
161+
# acts accordingly.
156162
class JavaSemaphore
157163
# @!macro semaphore_method_initialize
158164
def initialize(count)

yard-template/default/layout/html/footer.erb

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55
</div>
66

77
<script>
8-
// (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
9-
// (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
10-
// m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
11-
// })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
12-
//
13-
// ga('create', 'UA-4005004-8', 'pitr.ch');
14-
// ga('send', 'pageview');
8+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
9+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
10+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
11+
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
12+
13+
ga('create', 'UA-57940973-1', 'auto');
14+
ga('send', 'pageview');
15+
1516
</script>

0 commit comments

Comments
 (0)