concurrent-ruby-ext 1.1.7 → 1.1.10

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: 23f350d578574f73ce7df58e3d092bec1cedf2bf4f552ae58906808d6dc18cf9
4
- data.tar.gz: 9e3c82c9d24fed6854e81da0df0c37f76b6bd1e198762ad5483ac18c8d1478a3
3
+ metadata.gz: bb05e4c0aa2f0661f905d668c065334f4a6e156f7464a1ddb053734f5389b685
4
+ data.tar.gz: 0c02839137f7b3e3872e6ac4da05c33baf37e5da0bf7289aa4ca38c3e3ae67f1
5
5
  SHA512:
6
- metadata.gz: b7f140f529e4fc32b9416490839a4b03040e157eb135ef5dc8657a79e5679e1f4b3204299f1de2cf6e69565cc59a34d22584a9ac2e194d51bdc51e8f5327f6ca
7
- data.tar.gz: f6e79816390776f9ac8c939d6cc0582588d97808e70891bafa4faa0fb6ed49f18cc80def5184fd0b8ad69c6fe003bb05d8818a4f45bfe4659dc362eb370c2dec
6
+ metadata.gz: 5797ac3a2bc72fd92cb5d9b5183a23030dafbc429e96aa6de08e0b579a3de364abca9d21dc2ed614918aff3b46ec8afd61b3ab30545ee97c87999653f4c3e7f1
7
+ data.tar.gz: 138085806a2b5f1b92039dccc7d1580a6bfaed6f7976472787fd5706eef5ba3fb7f235e1f9c3d1c796ad96a11e603f122c4bc142b1364f1166428f868a20a135
data/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
  ## Current
2
2
 
3
+ ## Release v1.1.10
4
+
5
+ concurrent-ruby:
6
+
7
+ * (#951) Set the Ruby compatibility version at 2.2
8
+ * (#939, #933) The `caller_runs` fallback policy no longer blocks reads from the job queue by worker threads
9
+ * (#938, #761, #652) You can now explicitly `prune_pool` a thread pool (Sylvain Joyeux)
10
+ * (#937, #757, #670) We switched the Yahoo stock API for demos to Alpha Vantage (Gustavo Caso)
11
+ * (#932, #931) We changed how `SafeTaskExecutor` handles local jump errors (Aaron Jensen)
12
+ * (#927) You can use keyword arguments in your initialize when using `Async` (Matt Larraz)
13
+ * (#926, #639) We removed timeout from `TimerTask` because it wasn't sound, and now it's a no-op with a warning (Jacob Atzen)
14
+ * (#919) If you double-lock a re-entrant read-write lock, we promote to locked for writing (zp yuan)
15
+ * (#915) `monotonic_time` now accepts an optional unit parameter, as Ruby's `clock_gettime` (Jean Boussier)
16
+
17
+ ## Release v1.1.9 (5 Jun 2021)
18
+
19
+ concurrent-ruby:
20
+
21
+ * (#866) Child promise state not set to :pending immediately after #execute when parent has completed
22
+ * (#905, #872) Fix RubyNonConcurrentPriorityQueue#delete method
23
+ * (2df0337d) Make sure locks are not shared on shared when objects are dup/cloned
24
+ * (#900, #906, #796, #847, #911) Fix Concurrent::Set tread-safety issues on CRuby
25
+ * (#907) Add new ConcurrentMap backend for TruffleRuby
26
+
27
+ ## Release v1.1.8 (20 January 2021)
28
+
29
+ concurrent-ruby:
30
+
31
+ * (#885) Fix race condition in TVar for stale reads
32
+ * (#884) RubyThreadLocalVar: Do not iterate over hash which might conflict with new pair addition
33
+
3
34
  ## Release v1.1.7 (6 August 2020)
4
35
 
5
36
  concurrent-ruby:
data/README.md CHANGED
@@ -1,8 +1,6 @@
1
1
  # Concurrent Ruby
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/concurrent-ruby.svg)](http://badge.fury.io/rb/concurrent-ruby)
4
- [![Build Status](https://travis-ci.org/ruby-concurrency/concurrent-ruby.svg?branch=master)](https://travis-ci.org/ruby-concurrency/concurrent-ruby)
5
- [![Build status](https://ci.appveyor.com/api/projects/status/iq8aboyuu3etad4w?svg=true)](https://ci.appveyor.com/project/rubyconcurrency/concurrent-ruby)
6
4
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](http://opensource.org/licenses/MIT)
7
5
  [![Gitter chat](https://img.shields.io/badge/IRC%20(gitter)-devs%20%26%20users-brightgreen.svg)](https://gitter.im/ruby-concurrency/concurrent-ruby)
8
6
 
@@ -39,6 +37,8 @@ The design goals of this gem are:
39
37
  appreciate your help. Would you like to contribute? Great! Have a look at
40
38
  [issues with `looking-for-contributor` label](https://github.com/ruby-concurrency/concurrent-ruby/issues?q=is%3Aissue+is%3Aopen+label%3Alooking-for-contributor).** And if you pick something up let us know on the issue.
41
39
 
40
+ You can also get started by triaging issues which may include reproducing bug reports or asking for vital information, such as version numbers or reproduction instructions. If you would like to start triaging issues, one easy way to get started is to [subscribe to concurrent-ruby on CodeTriage](https://www.codetriage.com/ruby-concurrency/concurrent-ruby). [![Open Source Helpers](https://www.codetriage.com/ruby-concurrency/concurrent-ruby/badges/users.svg)](https://www.codetriage.com/ruby-concurrency/concurrent-ruby)
41
+
42
42
  ## Thread Safety
43
43
 
44
44
  *Concurrent Ruby makes one of the strongest thread safety guarantees of any Ruby concurrency
@@ -259,15 +259,11 @@ 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.0 and above
263
- * JRuby 9000
264
- * TruffleRuby are supported.
265
- * Any Ruby interpreter that is compliant with Ruby 2.0 or newer.
266
-
267
- Actually we still support mri 1.9.3 and jruby 1.7.27 but we are looking at ways how to drop the support.
268
- Java 8 is preferred for JRuby but every Java version on which JRuby 9000 runs is supported.
262
+ * MRI 2.2 and above
263
+ * Latest JRuby 9000
264
+ * Latest TruffleRuby
269
265
 
270
- The legacy support for Rubinius is kept but it is no longer maintained, if you would like to help
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
271
267
  please respond to [#739](https://github.com/ruby-concurrency/concurrent-ruby/issues/739).
272
268
 
273
269
  ## Usage
@@ -353,23 +349,47 @@ and load the appropriate C extensions.
353
349
  No gems should depend on `concurrent-ruby-ext`. Doing so will force C extensions on your users. The
354
350
  best practice is to depend on `concurrent-ruby` and let users to decide if they want C extensions.
355
351
 
352
+ ## Building the gem
353
+
354
+ ### Requirements
355
+
356
+ * Recent CRuby
357
+ * JRuby, `rbenv install jruby-9.2.17.0`
358
+ * Set env variable `CONCURRENT_JRUBY_HOME` to point to it, e.g. `/usr/local/opt/rbenv/versions/jruby-9.2.17.0`
359
+ * Install Docker, required for Windows builds
360
+
361
+ ### Publishing the Gem
362
+
363
+ * Update `version.rb`
364
+ * 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.
370
+ * 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.
374
+
356
375
  ## Maintainers
357
376
 
358
- * [Petr Chalupa](https://github.com/pitr-ch) (lead maintainer, point-of-contact)
359
- * [Jerry D'Antonio](https://github.com/jdantonio) (creator)
360
- * [Chris Seaton](https://github.com/chrisseaton)
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.
361
379
 
362
380
  ### Special Thanks to
363
381
 
364
- * [Brian Durand](https://github.com/bdurand) for the `ref` gem
365
- * [Charles Oliver Nutter](https://github.com/headius) for the `atomic` and `thread_safe` gems
366
- * [thedarkone](https://github.com/thedarkone) for the `thread_safe` gem
382
+ * [Jerry D'Antonio](https://github.com/jdantonio) for creating the gem
383
+ * [Brian Durand](https://github.com/bdurand) for the `ref` gem
384
+ * [Charles Oliver Nutter](https://github.com/headius) for the `atomic` and `thread_safe` gems
385
+ * [thedarkone](https://github.com/thedarkone) for the `thread_safe` gem
367
386
 
368
- and to the past maintainers
387
+ to the past maintainers
369
388
 
370
- * [Michele Della Torre](https://github.com/mighe)
371
- * [Paweł Obrok](https://github.com/obrok)
372
- * [Lucas Allan](https://github.com/lucasallan)
389
+ * [Petr Chalupa](https://github.com/pitr-ch)
390
+ * [Michele Della Torre](https://github.com/mighe)
391
+ * [Paweł Obrok](https://github.com/obrok)
392
+ * [Lucas Allan](https://github.com/lucasallan)
373
393
 
374
394
  and to [Ruby Association](https://www.ruby.or.jp/en/) for sponsoring a project
375
395
  ["Enhancing Ruby’s concurrency tooling"](https://www.ruby.or.jp/en/news/20181106) in 2018.
@@ -2,7 +2,6 @@
2
2
 
3
3
  #include "atomic_boolean.h"
4
4
  #include "atomic_reference.h"
5
- #include "ruby_193_compatible.h"
6
5
 
7
6
  void atomic_boolean_mark(void *value) {
8
7
  rb_gc_mark_maybe((VALUE) value);
@@ -2,7 +2,6 @@
2
2
 
3
3
  #include "atomic_fixnum.h"
4
4
  #include "atomic_reference.h"
5
- #include "ruby_193_compatible.h"
6
5
 
7
6
  void atomic_fixnum_mark(void *value) {
8
7
  rb_gc_mark_maybe((VALUE) value);
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.7
4
+ version: 1.1.10
5
5
  platform: ruby
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: 2020-08-08 00:00:00.000000000 Z
12
+ date: 2022-03-21 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.7
20
+ version: 1.1.10
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.7
27
+ version: 1.1.10
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.
@@ -48,12 +48,11 @@ files:
48
48
  - ext/concurrent-ruby-ext/atomic_reference.h
49
49
  - ext/concurrent-ruby-ext/extconf.rb
50
50
  - ext/concurrent-ruby-ext/rb_concurrent.c
51
- - ext/concurrent-ruby-ext/ruby_193_compatible.h
52
51
  homepage: http://www.concurrent-ruby.com
53
52
  licenses:
54
53
  - MIT
55
54
  metadata: {}
56
- post_install_message:
55
+ post_install_message:
57
56
  rdoc_options: []
58
57
  require_paths:
59
58
  - lib
@@ -61,15 +60,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
61
60
  requirements:
62
61
  - - ">="
63
62
  - !ruby/object:Gem::Version
64
- version: 1.9.3
63
+ version: '2.2'
65
64
  required_rubygems_version: !ruby/object:Gem::Requirement
66
65
  requirements:
67
66
  - - ">="
68
67
  - !ruby/object:Gem::Version
69
68
  version: '0'
70
69
  requirements: []
71
- rubygems_version: 3.1.2
72
- signing_key:
70
+ rubygems_version: 3.3.4
71
+ signing_key:
73
72
  specification_version: 4
74
73
  summary: C extensions to optimize concurrent-ruby under MRI.
75
74
  test_files: []
@@ -1,28 +0,0 @@
1
- #ifndef rb_check_arity
2
-
3
- // https://github.com/ruby/ruby/blob/ruby_2_0_0/include/ruby/intern.h
4
- // rb_check_arity was added in Ruby 2.0
5
-
6
- #define UNLIMITED_ARGUMENTS (-1)
7
-
8
- static inline VALUE rb_error_arity(int argc, int min, int max)
9
- {
10
- VALUE err_mess = 0;
11
- if (min == max) {
12
- err_mess = rb_sprintf("wrong number of arguments (%d for %d)", argc, min);
13
- }
14
- else if (max == UNLIMITED_ARGUMENTS) {
15
- err_mess = rb_sprintf("wrong number of arguments (%d for %d+)", argc, min);
16
- }
17
- else {
18
- err_mess = rb_sprintf("wrong number of arguments (%d for %d..%d)", argc, min, max);
19
- }
20
- return rb_exc_new3(rb_eTypeError, err_mess);
21
- }
22
-
23
- #define rb_check_arity(argc, min, max) do { \
24
- if (((argc) < (min)) || ((argc) > (max) && (max) != UNLIMITED_ARGUMENTS)) \
25
- rb_exc_raise(rb_error_arity(argc, min, max)); \
26
- } while(0)
27
-
28
- #endif