concurrent-ruby-ext 1.1.10-x64-mingw32 → 1.2.0-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 +11 -1
- data/README.md +21 -20
- data/ext/concurrent-ruby-ext/atomic_boolean.c +1 -1
- data/ext/concurrent-ruby-ext/atomic_fixnum.c +1 -1
- data/ext/concurrent-ruby-ext/atomic_reference.c +2 -2
- data/ext/concurrent-ruby-ext/extconf.rb +6 -1
- data/ext/concurrent-ruby-ext/rb_concurrent.c +1 -1
- data/lib/concurrent-ruby/concurrent/2.4/concurrent_ruby_ext.so +0 -0
- data/lib/concurrent-ruby/concurrent/2.5/concurrent_ruby_ext.so +0 -0
- data/lib/concurrent-ruby/concurrent/2.6/concurrent_ruby_ext.so +0 -0
- data/lib/concurrent-ruby/concurrent/2.7/concurrent_ruby_ext.so +0 -0
- data/lib/concurrent-ruby/concurrent/3.0/concurrent_ruby_ext.so +0 -0
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6162d77de1d16fb9ef2efae7bfca1158dddeabf2dff284beee18b9887e12520d
|
4
|
+
data.tar.gz: f31c8abb89e3dfff1e9e7b2dfd54d760473088b6dae5b45538479559c3297fc1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a2710c454d27619b8b9fdcde4261fcff664b508ee99ce636bdee8288242f4ccf037f2ee39215ff32ec93f613fa25ca0f74d62790d1db04af85a362d05811b96f
|
7
|
+
data.tar.gz: 1ec3f4b30ccab305770125cac8a806853b5be4209a7cdc18bf07141c3ac5082048d88bbd8b0d1715257fdfa7dbd8fed00b01035b468b68ea1aeec4f20f5abd4f
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,16 @@
|
|
1
1
|
## Current
|
2
2
|
|
3
|
-
## Release v1.
|
3
|
+
## Release v1.2.0 (23 Jan 2023)
|
4
|
+
|
5
|
+
* (#962) Fix ReentrantReadWriteLock to use the same granularity for locals as for Mutex it uses.
|
6
|
+
* (#983) Add FiberLocalVar
|
7
|
+
* (#934) concurrent-ruby now supports requiring individual classes (public classes listed in the docs), e.g., `require 'concurrent/map'`
|
8
|
+
* (#976) Let `Promises.any_fulfilled_future` take an `Event`
|
9
|
+
* Improve documentation of various classes
|
10
|
+
* (#975) Set the Ruby compatibility version at 2.3
|
11
|
+
* (#972) Remove Rubinius-related code
|
12
|
+
|
13
|
+
## Release v1.1.10 (22 Mar 2022)
|
4
14
|
|
5
15
|
concurrent-ruby:
|
6
16
|
|
data/README.md
CHANGED
@@ -42,8 +42,8 @@ You can also get started by triaging issues which may include reproducing bug re
|
|
42
42
|
## Thread Safety
|
43
43
|
|
44
44
|
*Concurrent Ruby makes one of the strongest thread safety guarantees of any Ruby concurrency
|
45
|
-
library, providing consistent behavior and guarantees on all
|
46
|
-
(MRI/CRuby, JRuby,
|
45
|
+
library, providing consistent behavior and guarantees on all three main Ruby interpreters
|
46
|
+
(MRI/CRuby, JRuby, TruffleRuby).*
|
47
47
|
|
48
48
|
Every abstraction in this library is thread safe. Specific thread safety guarantees are documented
|
49
49
|
with each abstraction.
|
@@ -58,9 +58,9 @@ other Ruby library, many of which support the mantra of
|
|
58
58
|
Concurrent Ruby is also the only Ruby library which provides a full suite of thread safe and
|
59
59
|
immutable variable types and data structures.
|
60
60
|
|
61
|
-
We've also initiated discussion to document [memory model](docs-source/synchronization.md) of Ruby which
|
62
|
-
would provide consistent behaviour and guarantees on all
|
63
|
-
(MRI/CRuby, JRuby,
|
61
|
+
We've also initiated discussion to document the [memory model](docs-source/synchronization.md) of Ruby which
|
62
|
+
would provide consistent behaviour and guarantees on all three main Ruby interpreters
|
63
|
+
(MRI/CRuby, JRuby, TruffleRuby).
|
64
64
|
|
65
65
|
## Features & Documentation
|
66
66
|
|
@@ -259,13 +259,10 @@ be obeyed though. Features developed in `concurrent-ruby-edge` are expected to m
|
|
259
259
|
|
260
260
|
## Supported Ruby versions
|
261
261
|
|
262
|
-
* MRI 2.
|
262
|
+
* MRI 2.3 and above
|
263
263
|
* Latest JRuby 9000
|
264
264
|
* Latest TruffleRuby
|
265
265
|
|
266
|
-
The legacy support for Rubinius is kept for the moment but it is no longer maintained and is liable to be removed. If you would like to help
|
267
|
-
please respond to [#739](https://github.com/ruby-concurrency/concurrent-ruby/issues/739).
|
268
|
-
|
269
266
|
## Usage
|
270
267
|
|
271
268
|
Everything within this gem can be loaded simply by requiring it:
|
@@ -274,7 +271,12 @@ Everything within this gem can be loaded simply by requiring it:
|
|
274
271
|
require 'concurrent'
|
275
272
|
```
|
276
273
|
|
277
|
-
|
274
|
+
You can also require a specific abstraction [part of the public documentation](https://ruby-concurrency.github.io/concurrent-ruby/master/index.html) since concurrent-ruby 1.2.0, for example:
|
275
|
+
```ruby
|
276
|
+
require 'concurrent/map'
|
277
|
+
require 'concurrent/atomic/atomic_reference'
|
278
|
+
require 'concurrent/executor/fixed_thread_pool'
|
279
|
+
```
|
278
280
|
|
279
281
|
To use the tools in the Edge gem it must be required separately:
|
280
282
|
|
@@ -362,20 +364,18 @@ best practice is to depend on `concurrent-ruby` and let users to decide if they
|
|
362
364
|
|
363
365
|
* Update `version.rb`
|
364
366
|
* Update the CHANGELOG
|
365
|
-
*
|
366
|
-
- Add the new version to `docs-source/signpost.md`. Needs to be done only if there are visible changes in the
|
367
|
-
documentation.
|
368
|
-
- Run `bundle exec rake yard` to update the master documentation and signpost.
|
369
|
-
- Run `bundle exec rake yard:<new-version>` to add or update the documentation of the new version.
|
367
|
+
* Add the new version to `docs-source/signpost.md`. Needs to be done only if there are visible changes in the documentation.
|
370
368
|
* Commit (and push) the changes.
|
371
|
-
* Use `
|
372
|
-
of `['release:checks', 'release:build', 'release:test', 'release:publish']` steps.
|
373
|
-
publishing anything. Steps can also be executed individually.
|
369
|
+
* Use `bundle exec rake release` to release the gem.
|
370
|
+
It consists of `['release:checks', 'release:build', 'release:test', 'release:publish']` steps.
|
371
|
+
It will ask at the end before publishing anything. Steps can also be executed individually.
|
374
372
|
|
375
373
|
## Maintainers
|
376
374
|
|
377
|
-
* [
|
378
|
-
* [
|
375
|
+
* [Benoit Daloze](https://github.com/eregon)
|
376
|
+
* [Matthew Draper](https://github.com/matthewd)
|
377
|
+
* [Rafael França](https://github.com/rafaelfranca)
|
378
|
+
* [Samuel Williams](https://github.com/ioquatix)
|
379
379
|
|
380
380
|
### Special Thanks to
|
381
381
|
|
@@ -386,6 +386,7 @@ best practice is to depend on `concurrent-ruby` and let users to decide if they
|
|
386
386
|
|
387
387
|
to the past maintainers
|
388
388
|
|
389
|
+
* [Chris Seaton](https://github.com/chrisseaton)
|
389
390
|
* [Petr Chalupa](https://github.com/pitr-ch)
|
390
391
|
* [Michele Della Torre](https://github.com/mighe)
|
391
392
|
* [Paweł Obrok](https://github.com/obrok)
|
@@ -8,7 +8,7 @@ void atomic_boolean_mark(void *value) {
|
|
8
8
|
}
|
9
9
|
|
10
10
|
VALUE atomic_boolean_allocate(VALUE klass) {
|
11
|
-
return
|
11
|
+
return rb_data_object_wrap(klass, (void *) Qfalse, atomic_boolean_mark, NULL);
|
12
12
|
}
|
13
13
|
|
14
14
|
VALUE method_atomic_boolean_initialize(int argc, VALUE* argv, VALUE self) {
|
@@ -8,7 +8,7 @@ void atomic_fixnum_mark(void *value) {
|
|
8
8
|
}
|
9
9
|
|
10
10
|
VALUE atomic_fixnum_allocate(VALUE klass) {
|
11
|
-
return
|
11
|
+
return rb_data_object_wrap(klass, (void *) Qnil, atomic_fixnum_mark, NULL);
|
12
12
|
}
|
13
13
|
|
14
14
|
VALUE method_atomic_fixnum_initialize(int argc, VALUE* argv, VALUE self) {
|
@@ -44,7 +44,7 @@ void ir_mark(void *value) {
|
|
44
44
|
}
|
45
45
|
|
46
46
|
VALUE ir_alloc(VALUE klass) {
|
47
|
-
return
|
47
|
+
return rb_data_object_wrap(klass, (void *) Qnil, ir_mark, NULL);
|
48
48
|
}
|
49
49
|
|
50
50
|
VALUE ir_initialize(int argc, VALUE* argv, VALUE self) {
|
@@ -78,7 +78,7 @@ VALUE ir_get_and_set(VALUE self, VALUE new_value) {
|
|
78
78
|
}
|
79
79
|
|
80
80
|
VALUE ir_compare_and_set(volatile VALUE self, VALUE expect_value, VALUE new_value) {
|
81
|
-
#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050
|
81
|
+
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050
|
82
82
|
if (OSAtomicCompareAndSwap64(expect_value, new_value, &DATA_PTR(self))) {
|
83
83
|
return Qtrue;
|
84
84
|
}
|
@@ -1,8 +1,13 @@
|
|
1
1
|
require 'fileutils'
|
2
|
+
require 'mkmf'
|
3
|
+
|
4
|
+
unless RUBY_ENGINE == "ruby"
|
5
|
+
File.write("Makefile", dummy_makefile($srcdir).join(""))
|
6
|
+
exit
|
7
|
+
end
|
2
8
|
|
3
9
|
extension_name = 'concurrent_ruby_ext'
|
4
10
|
|
5
|
-
require 'mkmf'
|
6
11
|
dir_config(extension_name)
|
7
12
|
have_header "libkern/OSAtomic.h"
|
8
13
|
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: concurrent-ruby-ext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: x64-mingw32
|
6
6
|
authors:
|
7
7
|
- Jerry D'Antonio
|
8
8
|
- The Ruby Concurrency Team
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2023-01-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: concurrent-ruby
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - '='
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 1.
|
20
|
+
version: 1.2.0
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - '='
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 1.
|
27
|
+
version: 1.2.0
|
28
28
|
description: |2
|
29
29
|
C extensions to optimize the concurrent-ruby gem when running under MRI.
|
30
30
|
Please see http://concurrent-ruby.com for more information.
|
@@ -56,7 +56,7 @@ homepage: http://www.concurrent-ruby.com
|
|
56
56
|
licenses:
|
57
57
|
- MIT
|
58
58
|
metadata: {}
|
59
|
-
post_install_message:
|
59
|
+
post_install_message:
|
60
60
|
rdoc_options: []
|
61
61
|
require_paths:
|
62
62
|
- lib
|
@@ -74,8 +74,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
requirements: []
|
77
|
-
rubygems_version: 3.3.
|
78
|
-
signing_key:
|
77
|
+
rubygems_version: 3.3.26
|
78
|
+
signing_key:
|
79
79
|
specification_version: 4
|
80
80
|
summary: C extensions to optimize concurrent-ruby under MRI.
|
81
81
|
test_files: []
|