concurrent-ruby-ext 1.1.10-x86-mingw32 → 1.2.1-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fb857e2d692b9730184935b53985ec9f8c480ae39035802bd628c6713a507f7c
4
- data.tar.gz: 8cfe77c8705932b8e0059b6396b768461a934dd5b3512a828630ba76bacab1e6
3
+ metadata.gz: 4acbc14b7cdb1b6ca79e94da34c6fe7877cb94c777b5a9686ae17d63f5fdc2c7
4
+ data.tar.gz: b8a7aa8857bb78e490c1668ba316c66c07ffb0296c24ea211a68459ed483fa3c
5
5
  SHA512:
6
- metadata.gz: a4f85b05e50fe3a670493719c7f0cf4e835b676db4d934679fa8d117fa6273cdf65f9b955f55d746051351fa3a71f4b84788b6eb86bd961bd77afaf856bc5ed3
7
- data.tar.gz: a4decbdf4d8cb8dadf74b04cfd26eea914770b4bae3eaf0661dadc24c58b487b03d1e9aca5aa639bd894d96335e3eb8e7321193e4bfa719ac2cf727862512fa7
6
+ metadata.gz: 8eb2d4149109dab9e48205877a2582df3c5ba5bed3eacd6256879fe4b9945da6068fdcf1ac40e3f1c330753f34ae2871b94a398eda6c60939aeec98a5b28a29e
7
+ data.tar.gz: 774cd65c67dfc02355b353df4f336dbbe04384d58074d040761703c374f3507df90e316f2610e1e0ace39bece38a56c18a9b76ab9bda0e40ac013600834e33b3
data/CHANGELOG.md CHANGED
@@ -1,6 +1,19 @@
1
1
  ## Current
2
2
 
3
- ## Release v1.1.10
3
+ * (#990) Add missing `require 'fiber'` for `FiberLocalVar`.
4
+ * (#989) Optimize `Concurrent::Map#[]` on CRuby by letting the backing Hash handle the `default_proc`.
5
+
6
+ ## Release v1.2.0 (23 Jan 2023)
7
+
8
+ * (#962) Fix ReentrantReadWriteLock to use the same granularity for locals as for Mutex it uses.
9
+ * (#983) Add FiberLocalVar
10
+ * (#934) concurrent-ruby now supports requiring individual classes (public classes listed in the docs), e.g., `require 'concurrent/map'`
11
+ * (#976) Let `Promises.any_fulfilled_future` take an `Event`
12
+ * Improve documentation of various classes
13
+ * (#975) Set the Ruby compatibility version at 2.3
14
+ * (#972) Remove Rubinius-related code
15
+
16
+ ## Release v1.1.10 (22 Mar 2022)
4
17
 
5
18
  concurrent-ruby:
6
19
 
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.1
5
5
  platform: x86-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-21 00:00:00.000000000 Z
12
+ date: 2023-02-24 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.1
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.1
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.
@@ -53,11 +53,12 @@ files:
53
53
  - lib/concurrent-ruby/concurrent/2.7/concurrent_ruby_ext.so
54
54
  - lib/concurrent-ruby/concurrent/3.0/concurrent_ruby_ext.so
55
55
  - lib/concurrent-ruby/concurrent/3.1/concurrent_ruby_ext.so
56
+ - lib/concurrent-ruby/concurrent/3.2/concurrent_ruby_ext.so
56
57
  homepage: http://www.concurrent-ruby.com
57
58
  licenses:
58
59
  - MIT
59
60
  metadata: {}
60
- post_install_message:
61
+ post_install_message:
61
62
  rdoc_options: []
62
63
  require_paths:
63
64
  - lib
@@ -68,15 +69,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
68
69
  version: '2.4'
69
70
  - - "<"
70
71
  - !ruby/object:Gem::Version
71
- version: 3.2.dev
72
+ version: 3.3.dev
72
73
  required_rubygems_version: !ruby/object:Gem::Requirement
73
74
  requirements:
74
75
  - - ">="
75
76
  - !ruby/object:Gem::Version
76
77
  version: '0'
77
78
  requirements: []
78
- rubygems_version: 3.3.4
79
- signing_key:
79
+ rubygems_version: 3.3.26
80
+ signing_key:
80
81
  specification_version: 4
81
82
  summary: C extensions to optimize concurrent-ruby under MRI.
82
83
  test_files: []