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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0503f387c1bc6a80d66183be21ade189120c3e817195a03de8c6c73b9a710ef4
4
- data.tar.gz: 610cbbdb71134c5994ca18d9446cc7af94b576cf920e8070e2aa430704a64a54
3
+ metadata.gz: 6162d77de1d16fb9ef2efae7bfca1158dddeabf2dff284beee18b9887e12520d
4
+ data.tar.gz: f31c8abb89e3dfff1e9e7b2dfd54d760473088b6dae5b45538479559c3297fc1
5
5
  SHA512:
6
- metadata.gz: e70061f818b9b1d90353b51a6d14c5489623b69a14b1834bf83d698d016f957ffaa4474e084eaf1d3d64a3439ec319104614f40892334bc18f22492bb5d91117
7
- data.tar.gz: eef71a9c4a38ab251f8e1f7cd17f025efd3cc9be54b4586a37cebaa36c01edaf895fe8eab70f405359fb6740a06ce90f64e555d8c1f06121d57a008ef096f347
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.1.10
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 four of the main Ruby interpreters
46
- (MRI/CRuby, JRuby, Rubinius, TruffleRuby).*
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 four of the main Ruby interpreters
63
- (MRI/CRuby, JRuby, Rubinius, TruffleRuby).
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.2 and above
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
- *Requiring only specific abstractions from Concurrent Ruby is not yet supported.*
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
- * Update the Yard documentation
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 `be rake release` to release the gem. It consists
372
- of `['release:checks', 'release:build', 'release:test', 'release:publish']` steps. It will ask at the end before
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
- * [Chris Seaton](https://github.com/chrisseaton) — Lead maintainer, point-of-contact.
378
- * [Benoit Daloze](https://github.com/eregon) — If Chris is not available Benoit can help.
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 rb_data_object_alloc(klass, (void *) Qfalse, atomic_boolean_mark, NULL);
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 rb_data_object_alloc(klass, (void *) Qnil, atomic_fixnum_mark, NULL);
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 rb_data_object_alloc(klass, (void *) Qnil, ir_mark, NULL);
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
 
@@ -13,7 +13,7 @@ static VALUE rb_cAtomicFixnum;
13
13
 
14
14
  // Init_extension
15
15
 
16
- void Init_concurrent_ruby_ext() {
16
+ void Init_concurrent_ruby_ext(void) {
17
17
 
18
18
  // define modules and classes
19
19
  rb_mConcurrent = rb_define_module("Concurrent");
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.1.10
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: 2022-03-22 00:00:00.000000000 Z
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.1.10
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.1.10
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.4
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: []