concurrent-ruby 1.3.7 → 1.3.8
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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fc9a00957279663f7ffba5a76366149711a267206a813160a278717d376a480a
|
|
4
|
+
data.tar.gz: f64af44fd395b43592f225d3695f4245e0db293bd1a4d1ffa5265b0bccb86b53
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2b81fa0a0c9a7f71689ec81c2b1336c4e1bacf2e7410a5788ef2c621499bb694b7750b3c179304859ff2fb771b80d618f384cd594481bd28b6008b3d68cac487
|
|
7
|
+
data.tar.gz: 54599518ae1867102286c158051bcc803420acf6c6345683e9c57ac7eccd60145f8c37dee3a38f66aa35b8bd9c359ff940fcfd9ba420b53aaa2b1bf60090b4af
|
data/CHANGELOG.md
CHANGED
|
Binary file
|
|
@@ -915,6 +915,7 @@ module Concurrent
|
|
|
915
915
|
# Represents a value which will become available in future. May reject with a reason instead,
|
|
916
916
|
# e.g. when the tasks raises an exception.
|
|
917
917
|
class Future < AbstractEventFuture
|
|
918
|
+
SET_BACKTRACE_LOCATIONS_SUPPORTED = RUBY_VERSION >= '3.4'
|
|
918
919
|
|
|
919
920
|
# Is it in fulfilled state?
|
|
920
921
|
# @return [Boolean]
|
|
@@ -1014,9 +1015,10 @@ module Concurrent
|
|
|
1014
1015
|
raise Concurrent::Error, 'it is not rejected' unless rejected?
|
|
1015
1016
|
raise ArgumentError unless args.size <= 1
|
|
1016
1017
|
reason = Array(internal_state.reason).flatten.compact
|
|
1018
|
+
callsites = SET_BACKTRACE_LOCATIONS_SUPPORTED ? caller_locations : caller
|
|
1017
1019
|
if reason.size > 1
|
|
1018
1020
|
ex = Concurrent::MultipleErrors.new reason
|
|
1019
|
-
ex.set_backtrace(
|
|
1021
|
+
ex.set_backtrace(callsites)
|
|
1020
1022
|
ex
|
|
1021
1023
|
else
|
|
1022
1024
|
ex = if reason[0].respond_to? :exception
|
|
@@ -1024,7 +1026,11 @@ module Concurrent
|
|
|
1024
1026
|
else
|
|
1025
1027
|
RuntimeError.new(reason[0]).exception(*args)
|
|
1026
1028
|
end
|
|
1027
|
-
|
|
1029
|
+
if SET_BACKTRACE_LOCATIONS_SUPPORTED && (locations = ex.backtrace_locations)
|
|
1030
|
+
ex.set_backtrace locations + callsites
|
|
1031
|
+
else
|
|
1032
|
+
ex.set_backtrace Array(ex.backtrace) + callsites.map(&:to_s)
|
|
1033
|
+
end
|
|
1028
1034
|
ex
|
|
1029
1035
|
end
|
|
1030
1036
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: concurrent-ruby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.3.
|
|
4
|
+
version: 1.3.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jerry D'Antonio
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
- The Ruby Concurrency Team
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2026-
|
|
12
|
+
date: 2026-07-19 00:00:00.000000000 Z
|
|
13
13
|
dependencies: []
|
|
14
14
|
description: |
|
|
15
15
|
Modern concurrency tools including agents, futures, promises, thread pools, actors, supervisors, and more.
|