concurrent-ruby-ext 0.9.0-x64-mingw32 → 0.9.1-x64-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/CHANGELOG.md +15 -1
 - data/README.md +23 -19
 - data/ext/concurrent/atomic_fixnum.c +27 -4
 - data/ext/concurrent/atomic_fixnum.h +3 -2
 - data/ext/concurrent/rb_concurrent.c +3 -2
 - data/lib/concurrent/2.0/extension.so +0 -0
 - data/lib/concurrent/2.1/extension.so +0 -0
 - data/lib/concurrent/2.2/extension.so +0 -0
 - metadata +4 -4
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 0025ebc6b16dd026085417d89be717515bb5307c
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: e20fa3173b0f4dc92c36f6901b6a8f087414fcd7
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: d7c208a762c2222752828ef87fcdeeb394da507b788c105474de0e14b6a31bddd5d72b724aa16af7e1b2ab90b8a9970016494f0232e7cc7b0787615409ca8a1c
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: e47e3a2603455dbcf323f543fd07f4be92b5c9e1c80916909f0bcdb2107c59dac714eabe966f8bf44b8bc532bbcf388fa8ab8932e6c831ba73151e3cd27760a9
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -1,4 +1,18 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            ## Current Release v0.9. 
     | 
| 
      
 1 
     | 
    
         
            +
            ## Current Release v0.9.1 (09 August 2015)
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            * Fixed a Rubiniux bug in synchronization object
         
     | 
| 
      
 4 
     | 
    
         
            +
            * Fixed all interpreter warnings (except circular references)
         
     | 
| 
      
 5 
     | 
    
         
            +
            * Fixed require statements when requiring `Atom` alone
         
     | 
| 
      
 6 
     | 
    
         
            +
            * Significantly improved `ThreadLocalVar` on non-JRuby platforms
         
     | 
| 
      
 7 
     | 
    
         
            +
            * Fixed error handling in Edge `Concurrent.zip`
         
     | 
| 
      
 8 
     | 
    
         
            +
            * `AtomicFixnum` methods `#increment` and `#decrement` now support optional delta
         
     | 
| 
      
 9 
     | 
    
         
            +
            * New `AtomicFixnum#update` method
         
     | 
| 
      
 10 
     | 
    
         
            +
            * Minor optimizations in `ReadWriteLock`
         
     | 
| 
      
 11 
     | 
    
         
            +
            * New `ReentrantReadWriteLock` class
         
     | 
| 
      
 12 
     | 
    
         
            +
            * `ThreadLocalVar#bind` method is now public
         
     | 
| 
      
 13 
     | 
    
         
            +
            * Refactored many tests
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            ### Release v0.9.0 (10 July 2015)
         
     | 
| 
       2 
16 
     | 
    
         | 
| 
       3 
17 
     | 
    
         
             
            * Updated `AtomicReference`
         
     | 
| 
       4 
18 
     | 
    
         
             
              - `AtomicReference#try_update` now simply returns instead of raising exception
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -1,5 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Concurrent Ruby
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            [](http://badge.fury.io/rb/concurrent-ruby)
         
     | 
| 
      
 4 
     | 
    
         
            +
            [](https://travis-ci.org/ruby-concurrency/concurrent-ruby)
         
     | 
| 
      
 5 
     | 
    
         
            +
            [](https://ci.appveyor.com/project/rubyconcurrency/concurrent-ruby)
         
     | 
| 
      
 6 
     | 
    
         
            +
            [](https://codeclimate.com/github/ruby-concurrency/concurrent-ruby)
         
     | 
| 
      
 7 
     | 
    
         
            +
            [](http://inch-ci.org/github/ruby-concurrency/concurrent-ruby)
         
     | 
| 
      
 8 
     | 
    
         
            +
            [](https://gemnasium.com/ruby-concurrency/concurrent-ruby)
         
     | 
| 
      
 9 
     | 
    
         
            +
            [](http://opensource.org/licenses/MIT)
         
     | 
| 
      
 10 
     | 
    
         
            +
            [-devs%20%26%20users-brightgreen.svg)](https://gitter.im/ruby-concurrency/concurrent-ruby)
         
     | 
| 
       3 
11 
     | 
    
         | 
| 
       4 
12 
     | 
    
         
             
            <table>
         
     | 
| 
       5 
13 
     | 
    
         
             
              <tr>
         
     | 
| 
         @@ -43,13 +51,13 @@ Java 8 is required for JRuby (Java 7 support is deprecated in version 0.9 and wi 
     | 
|
| 
       43 
51 
     | 
    
         | 
| 
       44 
52 
     | 
    
         
             
            ## Features & Documentation
         
     | 
| 
       45 
53 
     | 
    
         | 
| 
       46 
     | 
    
         
            -
            We have a roadmap guiding our work toward the [v1.0.0 release](https://github.com/ruby-concurrency/concurrent-ruby/ 
     | 
| 
      
 54 
     | 
    
         
            +
            We have a roadmap guiding our work toward the [v1.0.0 release](https://github.com/ruby-concurrency/concurrent-ruby/issues/257).
         
     | 
| 
       47 
55 
     | 
    
         | 
| 
       48 
56 
     | 
    
         
             
            The primary site for documentation is the automatically generated [API documentation](http://ruby-concurrency.github.io/concurrent-ruby/frames.html)
         
     | 
| 
       49 
57 
     | 
    
         | 
| 
       50 
     | 
    
         
            -
            We also have a [mailing list](http://groups.google.com/group/concurrent-ruby).
         
     | 
| 
      
 58 
     | 
    
         
            +
            We also have a [mailing list](http://groups.google.com/group/concurrent-ruby) and [IRC (gitter)](https://gitter.im/ruby-concurrency/concurrent-ruby).
         
     | 
| 
       51 
59 
     | 
    
         | 
| 
       52 
     | 
    
         
            -
            This library contains a variety of concurrency abstractions at high and low levels. One of the high-level abstractions is likely to meet most common needs. 
     | 
| 
      
 60 
     | 
    
         
            +
            This library contains a variety of concurrency abstractions at high and low levels. One of the high-level abstractions is likely to meet most common needs.
         
     | 
| 
       53 
61 
     | 
    
         | 
| 
       54 
62 
     | 
    
         
             
            #### General-purpose Concurrency Abstractions
         
     | 
| 
       55 
63 
     | 
    
         | 
| 
         @@ -59,7 +67,7 @@ This library contains a variety of concurrency abstractions at high and low leve 
     | 
|
| 
       59 
67 
     | 
    
         
             
              * [Dataflow](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent.html#dataflow-class_method): Built on Futures, Dataflow allows you to create a task that will be scheduled when all of its data dependencies are available.
         
     | 
| 
       60 
68 
     | 
    
         
             
            * [Promise](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Promise.html): Similar to Futures, with more features.
         
     | 
| 
       61 
69 
     | 
    
         
             
            * [ScheduledTask](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/ScheduledTask.html): Like a Future scheduled for a specific future time.
         
     | 
| 
       62 
     | 
    
         
            -
            * [TimerTask](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/TimerTask.html): A Thread that periodically wakes up to perform work at regular intervals. 
     | 
| 
      
 70 
     | 
    
         
            +
            * [TimerTask](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/TimerTask.html): A Thread that periodically wakes up to perform work at regular intervals.
         
     | 
| 
       63 
71 
     | 
    
         | 
| 
       64 
72 
     | 
    
         
             
            #### Thread-safe Value Objects
         
     | 
| 
       65 
73 
     | 
    
         | 
| 
         @@ -97,6 +105,7 @@ Derived from Ruby's [Struct](http://ruby-doc.org/core-2.2.0/Struct.html): 
     | 
|
| 
       97 
105 
     | 
    
         
             
            * [Thread-local variables](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/ThreadLocalVar.html)
         
     | 
| 
       98 
106 
     | 
    
         
             
            * [Software transactional memory](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/TVar.html) (TVar)
         
     | 
| 
       99 
107 
     | 
    
         
             
            * [ReadWriteLock](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/ReadWriteLock.html)
         
     | 
| 
      
 108 
     | 
    
         
            +
            * [ReentrantReadWriteLock](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/ReentrantReadWriteLock.html)
         
     | 
| 
       100 
109 
     | 
    
         | 
| 
       101 
110 
     | 
    
         
             
            ### Edge Features
         
     | 
| 
       102 
111 
     | 
    
         | 
| 
         @@ -108,34 +117,31 @@ be obeyed though. Features developed in `concurrent-ruby-edge` are expected to m 
     | 
|
| 
       108 
117 
     | 
    
         | 
| 
       109 
118 
     | 
    
         
             
            * [Actor](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Actor.html):
         
     | 
| 
       110 
119 
     | 
    
         
             
              Implements the Actor Model, where concurrent actors exchange messages.
         
     | 
| 
       111 
     | 
    
         
            -
            * [new Future Framework](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Edge.html) - new 
     | 
| 
      
 120 
     | 
    
         
            +
            * [new Future Framework](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Edge/FutureShortcuts.html) - new
         
     | 
| 
       112 
121 
     | 
    
         
             
              unified implementation of Futures and Promises which combines Features of previous `Future`,
         
     | 
| 
       113 
122 
     | 
    
         
             
              `Promise`, `IVar`, `Event`, `Probe`, `dataflow`, `Delay`, `TimerTask` into single framework. It uses extensively
         
     | 
| 
       114 
     | 
    
         
            -
              new synchronization layer to make all the  
     | 
| 
       115 
     | 
    
         
            -
               
     | 
| 
      
 123 
     | 
    
         
            +
              new synchronization layer to make all the features **non-blocking** and **lock-free** with exception of obviously blocking
         
     | 
| 
      
 124 
     | 
    
         
            +
              operations like `#wait`, `#value`. It also offers better performance.
         
     | 
| 
       116 
125 
     | 
    
         
             
            * [Agent](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Agent.html): A single atomic value that represents an identity.
         
     | 
| 
       117 
126 
     | 
    
         
             
            * [Channel](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Channel.html):
         
     | 
| 
       118 
127 
     | 
    
         
             
              Communicating Sequential Processes (CSP).
         
     | 
| 
       119 
128 
     | 
    
         
             
            * [Exchanger](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Exchanger.html)
         
     | 
| 
       120 
129 
     | 
    
         
             
            * [LazyRegister](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/LazyRegister.html)
         
     | 
| 
       121 
     | 
    
         
            -
            * [ 
     | 
| 
       122 
     | 
    
         
            -
             
     | 
| 
       123 
     | 
    
         
            -
             
     | 
| 
       124 
     | 
    
         
            -
              new synchronization layer to make all the paths lock-free with exception of blocking threads on `#wait`.
         
     | 
| 
       125 
     | 
    
         
            -
              It offers better performance and does not block threads (exception being `#wait` and similar methods where it's
         
     | 
| 
       126 
     | 
    
         
            -
              intended).
         
     | 
| 
       127 
     | 
    
         
            -
             
     | 
| 
      
 130 
     | 
    
         
            +
            * [Atomic Markable Reference](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Edge/AtomicMarkableReference.html)
         
     | 
| 
      
 131 
     | 
    
         
            +
            * [LockFreeLinked Set](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Edge/LockFreeLinkedSet.html)
         
     | 
| 
      
 132 
     | 
    
         
            +
            * [LockFreeStack](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Edge/LockFreeStack.html)
         
     | 
| 
       128 
133 
     | 
    
         | 
| 
       129 
134 
     | 
    
         
             
            #### Statuses:
         
     | 
| 
       130 
135 
     | 
    
         | 
| 
       131 
136 
     | 
    
         
             
            *Why are these not in core?*
         
     | 
| 
       132 
137 
     | 
    
         | 
| 
       133 
     | 
    
         
            -
            - **Actor** - Partial documentation and tests; stability is good. 
     | 
| 
      
 138 
     | 
    
         
            +
            - **Actor** - Partial documentation and tests; stability is good.
         
     | 
| 
       134 
139 
     | 
    
         
             
            - **Future/Promise Framework** - API changes; partial documentation and tests; stability good.
         
     | 
| 
       135 
140 
     | 
    
         
             
            - **Agent** - Incomplete behaviour compared to Clojure's models; stability good.
         
     | 
| 
       136 
141 
     | 
    
         
             
            - **Channel** - Missing documentation; limted features; stability good.
         
     | 
| 
       137 
142 
     | 
    
         
             
            - **Exchanger** - Known race condition requiring a new implementation.
         
     | 
| 
       138 
     | 
    
         
            -
            - **LazyRegister** - Missing documentation and tests. 
     | 
| 
      
 143 
     | 
    
         
            +
            - **LazyRegister** - Missing documentation and tests.
         
     | 
| 
      
 144 
     | 
    
         
            +
            - **AtomicMarkableReference, LockFreeLinkedSet, LockFreeStack** - Needs real world battle testing
         
     | 
| 
       139 
145 
     | 
    
         | 
| 
       140 
146 
     | 
    
         
             
            ## Usage
         
     | 
| 
       141 
147 
     | 
    
         | 
| 
         @@ -179,8 +185,6 @@ require 'concurrent/actor'          # Concurrent::Actor and supporting code 
     | 
|
| 
       179 
185 
     | 
    
         
             
            require 'concurrent/edge/future'    # new Future Framework
         
     | 
| 
       180 
186 
     | 
    
         
             
            require 'concurrent/agent'          # Concurrent::Agent
         
     | 
| 
       181 
187 
     | 
    
         
             
            require 'concurrent/channel '       # Concurrent::Channel and supporting code
         
     | 
| 
       182 
     | 
    
         
            -
            require 'concurrent/exchanger'      # Concurrent::Exchanger
         
     | 
| 
       183 
     | 
    
         
            -
            require 'concurrent/lazy_register'  # Concurrent::LazyRegister
         
     | 
| 
       184 
188 
     | 
    
         
             
            ```
         
     | 
| 
       185 
189 
     | 
    
         | 
| 
       186 
190 
     | 
    
         
             
            If the library does not behave as expected, `Concurrent.use_stdlib_logger(Logger::DEBUG)` could help to reveal the problem.
         
     | 
| 
         @@ -33,14 +33,26 @@ VALUE method_atomic_fixnum_value_set(VALUE self, VALUE value) { 
     | 
|
| 
       33 
33 
     | 
    
         
             
              return(value);
         
     | 
| 
       34 
34 
     | 
    
         
             
            }
         
     | 
| 
       35 
35 
     | 
    
         | 
| 
       36 
     | 
    
         
            -
            VALUE method_atomic_fixnum_increment(VALUE self) {
         
     | 
| 
      
 36 
     | 
    
         
            +
            VALUE method_atomic_fixnum_increment(int argc, VALUE* argv, VALUE self) {
         
     | 
| 
       37 
37 
     | 
    
         
             
              long long value = NUM2LL((VALUE) DATA_PTR(self));
         
     | 
| 
       38 
     | 
    
         
            -
               
     | 
| 
      
 38 
     | 
    
         
            +
              long long delta = 1;
         
     | 
| 
      
 39 
     | 
    
         
            +
              rb_check_arity(argc, 0, 1);
         
     | 
| 
      
 40 
     | 
    
         
            +
              if (argc == 1) {
         
     | 
| 
      
 41 
     | 
    
         
            +
                Check_Type(argv[0], T_FIXNUM);
         
     | 
| 
      
 42 
     | 
    
         
            +
                delta = NUM2LL(argv[0]);
         
     | 
| 
      
 43 
     | 
    
         
            +
              }
         
     | 
| 
      
 44 
     | 
    
         
            +
              return method_atomic_fixnum_value_set(self, LL2NUM(value + delta));
         
     | 
| 
       39 
45 
     | 
    
         
             
            }
         
     | 
| 
       40 
46 
     | 
    
         | 
| 
       41 
     | 
    
         
            -
            VALUE method_atomic_fixnum_decrement(VALUE self) {
         
     | 
| 
      
 47 
     | 
    
         
            +
            VALUE method_atomic_fixnum_decrement(int argc, VALUE* argv, VALUE self) {
         
     | 
| 
       42 
48 
     | 
    
         
             
              long long value = NUM2LL((VALUE) DATA_PTR(self));
         
     | 
| 
       43 
     | 
    
         
            -
               
     | 
| 
      
 49 
     | 
    
         
            +
              long long delta = 1;
         
     | 
| 
      
 50 
     | 
    
         
            +
              rb_check_arity(argc, 0, 1);
         
     | 
| 
      
 51 
     | 
    
         
            +
              if (argc == 1) {
         
     | 
| 
      
 52 
     | 
    
         
            +
                Check_Type(argv[0], T_FIXNUM);
         
     | 
| 
      
 53 
     | 
    
         
            +
                delta = NUM2LL(argv[0]);
         
     | 
| 
      
 54 
     | 
    
         
            +
              }
         
     | 
| 
      
 55 
     | 
    
         
            +
              return method_atomic_fixnum_value_set(self, LL2NUM(value - delta));
         
     | 
| 
       44 
56 
     | 
    
         
             
            }
         
     | 
| 
       45 
57 
     | 
    
         | 
| 
       46 
58 
     | 
    
         
             
            VALUE method_atomic_fixnum_compare_and_set(VALUE self, VALUE rb_expect, VALUE rb_update) {
         
     | 
| 
         @@ -48,3 +60,14 @@ VALUE method_atomic_fixnum_compare_and_set(VALUE self, VALUE rb_expect, VALUE rb 
     | 
|
| 
       48 
60 
     | 
    
         
             
              Check_Type(rb_update, T_FIXNUM);
         
     | 
| 
       49 
61 
     | 
    
         
             
              return ir_compare_and_set(self, rb_expect, rb_update);
         
     | 
| 
       50 
62 
     | 
    
         
             
            }
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
            VALUE method_atomic_fixnum_update(VALUE self) {
         
     | 
| 
      
 65 
     | 
    
         
            +
              VALUE old_value, new_value;
         
     | 
| 
      
 66 
     | 
    
         
            +
              for (;;) {
         
     | 
| 
      
 67 
     | 
    
         
            +
                old_value = method_atomic_fixnum_value(self);
         
     | 
| 
      
 68 
     | 
    
         
            +
                new_value = rb_yield(old_value);
         
     | 
| 
      
 69 
     | 
    
         
            +
                if (ir_compare_and_set(self, old_value, new_value) == Qtrue) {
         
     | 
| 
      
 70 
     | 
    
         
            +
                  return new_value;
         
     | 
| 
      
 71 
     | 
    
         
            +
                }
         
     | 
| 
      
 72 
     | 
    
         
            +
              }
         
     | 
| 
      
 73 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -6,8 +6,9 @@ VALUE atomic_fixnum_allocate(VALUE); 
     | 
|
| 
       6 
6 
     | 
    
         
             
            VALUE method_atomic_fixnum_initialize(int, VALUE*, VALUE);
         
     | 
| 
       7 
7 
     | 
    
         
             
            VALUE method_atomic_fixnum_value(VALUE);
         
     | 
| 
       8 
8 
     | 
    
         
             
            VALUE method_atomic_fixnum_value_set(VALUE, VALUE);
         
     | 
| 
       9 
     | 
    
         
            -
            VALUE method_atomic_fixnum_increment(VALUE);
         
     | 
| 
       10 
     | 
    
         
            -
            VALUE method_atomic_fixnum_decrement(VALUE);
         
     | 
| 
      
 9 
     | 
    
         
            +
            VALUE method_atomic_fixnum_increment(int, VALUE*, VALUE);
         
     | 
| 
      
 10 
     | 
    
         
            +
            VALUE method_atomic_fixnum_decrement(int, VALUE*, VALUE);
         
     | 
| 
       11 
11 
     | 
    
         
             
            VALUE method_atomic_fixnum_compare_and_set(VALUE, VALUE, VALUE);
         
     | 
| 
      
 12 
     | 
    
         
            +
            VALUE method_atomic_fixnum_update(VALUE);
         
     | 
| 
       12 
13 
     | 
    
         | 
| 
       13 
14 
     | 
    
         
             
            #endif
         
     | 
| 
         @@ -49,9 +49,10 @@ void Init_extension() { 
     | 
|
| 
       49 
49 
     | 
    
         
             
              rb_define_method(rb_cAtomicFixnum, "initialize", method_atomic_fixnum_initialize, -1);
         
     | 
| 
       50 
50 
     | 
    
         
             
              rb_define_method(rb_cAtomicFixnum, "value", method_atomic_fixnum_value, 0);
         
     | 
| 
       51 
51 
     | 
    
         
             
              rb_define_method(rb_cAtomicFixnum, "value=", method_atomic_fixnum_value_set, 1);
         
     | 
| 
       52 
     | 
    
         
            -
              rb_define_method(rb_cAtomicFixnum, "increment", method_atomic_fixnum_increment,  
     | 
| 
       53 
     | 
    
         
            -
              rb_define_method(rb_cAtomicFixnum, "decrement", method_atomic_fixnum_decrement,  
     | 
| 
      
 52 
     | 
    
         
            +
              rb_define_method(rb_cAtomicFixnum, "increment", method_atomic_fixnum_increment, -1);
         
     | 
| 
      
 53 
     | 
    
         
            +
              rb_define_method(rb_cAtomicFixnum, "decrement", method_atomic_fixnum_decrement, -1);
         
     | 
| 
       54 
54 
     | 
    
         
             
              rb_define_method(rb_cAtomicFixnum, "compare_and_set", method_atomic_fixnum_compare_and_set, 2);
         
     | 
| 
      
 55 
     | 
    
         
            +
              rb_define_method(rb_cAtomicFixnum, "update", method_atomic_fixnum_update, 0);
         
     | 
| 
       55 
56 
     | 
    
         
             
              rb_define_alias(rb_cAtomicFixnum, "up", "increment");
         
     | 
| 
       56 
57 
     | 
    
         
             
              rb_define_alias(rb_cAtomicFixnum, "down", "decrement");
         
     | 
| 
       57 
58 
     | 
    
         
             
            }
         
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: concurrent-ruby-ext
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.9. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.9.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: x64-mingw32
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Jerry D'Antonio
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2015- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2015-08-09 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: concurrent-ruby
         
     | 
| 
         @@ -16,14 +16,14 @@ dependencies: 
     | 
|
| 
       16 
16 
     | 
    
         
             
                requirements:
         
     | 
| 
       17 
17 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       18 
18 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       19 
     | 
    
         
            -
                    version: 0.9. 
     | 
| 
      
 19 
     | 
    
         
            +
                    version: 0.9.1
         
     | 
| 
       20 
20 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       21 
21 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       22 
22 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       23 
23 
     | 
    
         
             
                requirements:
         
     | 
| 
       24 
24 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       25 
25 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       26 
     | 
    
         
            -
                    version: 0.9. 
     | 
| 
      
 26 
     | 
    
         
            +
                    version: 0.9.1
         
     | 
| 
       27 
27 
     | 
    
         
             
            description: |2
         
     | 
| 
       28 
28 
     | 
    
         
             
                  C extensions to optimize the concurrent-ruby gem when running under MRI.
         
     | 
| 
       29 
29 
     | 
    
         
             
                  Please see http://concurrent-ruby.com for more information.
         
     |