tanker-core 2.6.2.alpha.2 → 2.6.2.beta.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: c31a7dd72c30de5e9663ed4a673336087ea1b4643b8e0ee5286acbb3305c0384
4
- data.tar.gz: 0b834e4736b7bdc08ed4514b0b6e9ee4e701bac3a1b5463459bec0ba72795aa1
3
+ metadata.gz: 69f962904a2700e1eff1d3f7d44a5a7f29be26c0048a89ffffc3ad5e5a856f82
4
+ data.tar.gz: 040e523c8912592aadec416c027cb925d0c6e2936e0d1364c6e6cd75cae9164c
5
5
  SHA512:
6
- metadata.gz: 11e72970a98eade34813b02f4f74db67548a4f869bba886591a4b9d864a6f3eebd8dde9727ba53abd6637724a46a48688143d696d2e8a1496eb5dc46f7f06588
7
- data.tar.gz: 34b1e95c6aef86da9d8adb782523128486f60b67c5332036780fdda9f6a327671db29ef8bcb1038769c089c69663b0456a83a9fce378128376ecdc4ae9e6e198
6
+ metadata.gz: e515de3523845ec392141a9ed06baf9c936a863cb0d905384398232c705cf182377c97cf12efedebf83055b09df8ea6d8d02dabe6620b251489790cc22a54520
7
+ data.tar.gz: a60601421d1c3402ebf73d4e35cdc6127c367769523697b7495635ae0a56d2d84c8acba65e5e126f4de4164f2fddb0eede58a88acc45646b7fdcaa28baeb2f10
@@ -3,22 +3,34 @@
3
3
  module Tanker
4
4
  # Main entry point for the Tanker SDK. Can open a Tanker session.
5
5
  class Core
6
+ @log_handler_lock = Mutex.new
7
+ @log_handler_set = 0
8
+
9
+ def self.test_and_set_log_handler
10
+ @log_handler_lock.synchronize do
11
+ is_set = @log_handler_set
12
+ @log_handler_set = 1
13
+ return is_set
14
+ end
15
+ end
16
+
6
17
  def self.set_log_handler(&block) # rubocop:disable Naming/AccessorMethodName
18
+ @log_handler_set = 1
7
19
  @log_handler = lambda do |clog|
8
20
  block.call LogRecord.new clog[:category], clog[:level], clog[:file], clog[:line], clog[:message]
9
21
  end
10
22
  CTanker.tanker_set_log_handler @log_handler
11
23
  end
12
24
 
13
- # Do not spam the console of our users. This must be done first to be effective.
14
- set_log_handler { |_| }
15
-
16
25
  def initialize(options)
17
26
  # tanker_init is not called globally to avoid potential logs at global scope
18
27
  # some frameworks like to pre-execute statements at global scope and then fork, this fork can
19
28
  # interact badly with the threads used in the log handler, so never call Tanker at global scope
20
29
  CTanker.tanker_init
21
30
 
31
+ # Do not spam the console of our users.
32
+ self.class.set_log_handler { |_| } unless self.class.test_and_set_log_handler == 1
33
+
22
34
  @revoke_event_handlers = Set.new
23
35
  @ctanker = CTanker.tanker_create(options).get
24
36
  @freed = false
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Tanker
4
4
  class Core
5
- VERSION = '2.6.2.alpha.2'
5
+ VERSION = '2.6.2.beta.2'
6
6
 
7
7
  def self.native_version
8
8
  CTanker.tanker_version_string
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: 2.6.2.alpha.2
4
+ version: 2.6.2.beta.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: 2020-09-20 00:00:00.000000000 Z
11
+ date: 2020-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi