concurrent-ruby-ext 1.1.10-x64-mingw32 → 1.2.1-x64-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: 0503f387c1bc6a80d66183be21ade189120c3e817195a03de8c6c73b9a710ef4
4
- data.tar.gz: 610cbbdb71134c5994ca18d9446cc7af94b576cf920e8070e2aa430704a64a54
3
+ metadata.gz: 7479504556fc14e4631729b047e4f3e80e2d0c4bb919d0f86939f6c100678b67
4
+ data.tar.gz: 33b874a673dab13042b11cb2ef93a05cf467f47d79ed3b58f09a29f90d601301
5
5
  SHA512:
6
- metadata.gz: e70061f818b9b1d90353b51a6d14c5489623b69a14b1834bf83d698d016f957ffaa4474e084eaf1d3d64a3439ec319104614f40892334bc18f22492bb5d91117
7
- data.tar.gz: eef71a9c4a38ab251f8e1f7cd17f025efd3cc9be54b4586a37cebaa36c01edaf895fe8eab70f405359fb6740a06ce90f64e555d8c1f06121d57a008ef096f347
6
+ metadata.gz: '08d322200a90dacd2d4685e9ba2b63543e641423699770734a16bc41b8234e72cea6bdba2c9afe8a55b5be12e90924447c0e15b5796ef28143746e17b23a3f57'
7
+ data.tar.gz: cba68c15e04eebedeade0ed815df3018b6167c6faccdeb1f076b65494a3732fa2d37da816437359342640c33252fc92b413cef4620dbc3764452a473de0f1f80
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: 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-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.
@@ -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: []