tanker-core 4.2.0 → 4.2.1.alpha.2

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: cfaec7c996458ef241b46061304257ee8d3274ae41931fe670684cad2f11c9dc
4
- data.tar.gz: 82ebbc95beb38a6809df58aa544a5395d46a48b42dfe0125d4eecf97b826ce2b
3
+ metadata.gz: 609bbce40fcd49313a43479a2497d54141a22abe276b1e26e7ef0bcf66abdedb
4
+ data.tar.gz: d770ba59fba829a778e6b703b6e14778026ac5cea39b22bb2cafd069ae93348b
5
5
  SHA512:
6
- metadata.gz: 7066734bd70b9867a72d649dae12acc779e77f2bb059247475b492fda5241d8f739af678d17d755cd4337e1b8398bd4d41977adfb1583c186ee52cdc903a55cd
7
- data.tar.gz: bb44a91618ec1e916cfd79a64c184a5a1ed0db0790d3b8664fd0f7a6bdd8ce30eab380519fcc6fa82f16ea8c2e0c2cc63ba574667b8d522055555b5ca010a501
6
+ metadata.gz: 3d579e15edc1264dd2feb5b5ff0c22e2a6159540c1cd515ee934ef691687f2e3439ba5e9d5affa26137ae52f5059a286f18dfbe89eb0e0cb3aa3c13c968116dd
7
+ data.tar.gz: 6f468bf2a51ca2984e43dcd4a4c689747eeb91fa0f849cf6e1bd07a0c5bf1e5eab00032638709fc7d4fc4d98220bc47aa51d413e4574cec87daa9d869aa38736
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'tanker/core/http'
4
+
5
+ module Tanker
6
+ module ForkHook
7
+ def _fork(*args)
8
+ CTanker.tanker_before_fork
9
+ Http::ThreadPool.before_fork
10
+
11
+ res = super
12
+
13
+ CTanker.tanker_after_fork
14
+ res
15
+ end
16
+ prepend_features(Process.singleton_class)
17
+ end
18
+ end
@@ -95,6 +95,9 @@ module Tanker
95
95
 
96
96
  blocking_attach_function :tanker_free_buffer, [:pointer], :void
97
97
  blocking_attach_function :tanker_free_verification_method_list, [:pointer], :void
98
+
99
+ blocking_attach_function :tanker_before_fork, [], :void
100
+ blocking_attach_function :tanker_after_fork, [], :void
98
101
  end
99
102
 
100
103
  private_constant :CTanker
@@ -105,6 +105,11 @@ module Tanker
105
105
  init if @queue.nil?
106
106
  @queue << proc
107
107
  end
108
+
109
+ def self.before_fork
110
+ @http_thread_pool = nil
111
+ @queue = nil
112
+ end
108
113
  end
109
114
 
110
115
  class Client
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Tanker
4
4
  class Core
5
- VERSION = '4.2.0'
5
+ VERSION = '4.2.1.alpha.2'
6
6
 
7
7
  def self.native_version
8
8
  CTanker.tanker_version_string
data/lib/tanker/core.rb CHANGED
@@ -17,3 +17,4 @@ require_relative 'core/encryption_session'
17
17
  require_relative 'core/log_record'
18
18
  require_relative 'core/attach_result'
19
19
  require_relative 'core/init'
20
+ require 'tanker/c_tanker/fork_hook'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tanker-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.0
4
+ version: 4.2.1.alpha.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tanker team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-20 00:00:00.000000000 Z
11
+ date: 2024-08-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -64,6 +64,7 @@ files:
64
64
  - lib/tanker/c_tanker/c_tanker_error.rb
65
65
  - lib/tanker/c_tanker/c_verification.rb
66
66
  - lib/tanker/c_tanker/c_verification_method.rb
67
+ - lib/tanker/c_tanker/fork_hook.rb
67
68
  - lib/tanker/core.rb
68
69
  - lib/tanker/core/attach_result.rb
69
70
  - lib/tanker/core/encryption.rb
@@ -103,9 +104,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
103
104
  version: 3.1.0
104
105
  required_rubygems_version: !ruby/object:Gem::Requirement
105
106
  requirements:
106
- - - ">="
107
+ - - ">"
107
108
  - !ruby/object:Gem::Version
108
- version: '0'
109
+ version: 1.3.1
109
110
  requirements: []
110
111
  rubygems_version: 3.4.10
111
112
  signing_key: