contrast-agent 4.14.0 → 4.14.1
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 +4 -4
 - data/lib/contrast/agent/version.rb +1 -1
 - data/lib/contrast/extension/thread.rb +31 -12
 - metadata +12 -12
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 8ab9eae65aeefbeb3c12102f71287c60856783238067a7c461fcf534aaa65712
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 1fe74d85374374f40a11c47e44ab0da1042a3f99d607fdfd697a45cc321b45b0
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: df020b9d0ff09e61107e280f6e76411f9a9b75c1c94f7082ef52d487e5f88b940e75996dd869d648ac0af654f5f84e48b1f691fdcc9e5f294a565d2bb1a39b7d
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 8bd869bfacbb82aea7b0cf55ff806fded4bae5c6b0454185c4c422bdd14ee07fd1edb3f4b843e702765a4693b51697a0497129d73d3d3652f32cc50056ed783b
         
     | 
| 
         @@ -10,22 +10,41 @@ 
     | 
|
| 
       10 
10 
     | 
    
         
             
            # exists mostly for reference.
         
     | 
| 
       11 
11 
     | 
    
         
             
            #
         
     | 
| 
       12 
12 
     | 
    
         
             
            # Scope HAS to exist per-fiber.
         
     | 
| 
      
 13 
     | 
    
         
            +
            # Check to see if Thread#initialize has been prepended. If it hasn't, then we should use the alias approach, so that
         
     | 
| 
      
 14 
     | 
    
         
            +
            # others can continue to alias it. If it has been, then we must use prepend ourselves.
         
     | 
| 
      
 15 
     | 
    
         
            +
            if Thread.instance_method(:initialize).owner == Thread
         
     | 
| 
      
 16 
     | 
    
         
            +
              # Alias-chaining Thread#initialize.
         
     | 
| 
      
 17 
     | 
    
         
            +
              class Thread
         
     | 
| 
      
 18 
     | 
    
         
            +
                alias_method :cs__initialize, :initialize
         
     | 
| 
       13 
19 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
      
 20 
     | 
    
         
            +
                def initialize *args, &block
         
     | 
| 
      
 21 
     | 
    
         
            +
                  # Thread.current still references the original(callee) thread that is instantiating this new fiber during
         
     | 
| 
      
 22 
     | 
    
         
            +
                  # initialization.
         
     | 
| 
      
 23 
     | 
    
         
            +
                  Contrast::Components::Scope::MONITOR.synchronize do
         
     | 
| 
      
 24 
     | 
    
         
            +
                    if (current_context = Thread.current[:current_context])
         
     | 
| 
      
 25 
     | 
    
         
            +
                      self[:current_context] = current_context.dup
         
     | 
| 
      
 26 
     | 
    
         
            +
                    end
         
     | 
| 
       17 
27 
     | 
    
         | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
                # Thread.current still references the original(callee) thread that is
         
     | 
| 
       20 
     | 
    
         
            -
                # instantiating this new fiber during initialization
         
     | 
| 
       21 
     | 
    
         
            -
                Contrast::Components::Scope::MONITOR.synchronize do
         
     | 
| 
       22 
     | 
    
         
            -
                  if (current_context = Thread.current[:current_context])
         
     | 
| 
       23 
     | 
    
         
            -
                    self[:current_context] = current_context.dup
         
     | 
| 
      
 28 
     | 
    
         
            +
                    Contrast::Components::Scope.sweep_dead_ecs
         
     | 
| 
       24 
29 
     | 
    
         
             
                  end
         
     | 
| 
       25 
30 
     | 
    
         | 
| 
       26 
     | 
    
         
            -
                   
     | 
| 
      
 31 
     | 
    
         
            +
                  cs__initialize(*args, &block)
         
     | 
| 
      
 32 
     | 
    
         
            +
                end
         
     | 
| 
      
 33 
     | 
    
         
            +
              end
         
     | 
| 
      
 34 
     | 
    
         
            +
            else
         
     | 
| 
      
 35 
     | 
    
         
            +
              # Prepending Thread#initialize.
         
     | 
| 
      
 36 
     | 
    
         
            +
              module ContrastThread
         
     | 
| 
      
 37 
     | 
    
         
            +
                def initialize *args, &block
         
     | 
| 
      
 38 
     | 
    
         
            +
                  # Thread.current still references the original(callee) thread that is instantiating this new fiber during
         
     | 
| 
      
 39 
     | 
    
         
            +
                  # initialization.
         
     | 
| 
      
 40 
     | 
    
         
            +
                  Contrast::Components::Scope::MONITOR.synchronize do
         
     | 
| 
      
 41 
     | 
    
         
            +
                    if (current_context = Thread.current[:current_context])
         
     | 
| 
      
 42 
     | 
    
         
            +
                      self[:current_context] = current_context.dup
         
     | 
| 
      
 43 
     | 
    
         
            +
                    end
         
     | 
| 
      
 44 
     | 
    
         
            +
                    Contrast::Components::Scope.sweep_dead_ecs
         
     | 
| 
      
 45 
     | 
    
         
            +
                  end
         
     | 
| 
      
 46 
     | 
    
         
            +
                  super
         
     | 
| 
       27 
47 
     | 
    
         
             
                end
         
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
                cs__initialize(*args, &block)
         
     | 
| 
       30 
48 
     | 
    
         
             
              end
         
     | 
| 
      
 49 
     | 
    
         
            +
              Thread.prepend(ContrastThread)
         
     | 
| 
       31 
50 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: contrast-agent
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 4.14. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 4.14.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - galen.palmer@contrastsecurity.com
         
     | 
| 
         @@ -13,7 +13,7 @@ authors: 
     | 
|
| 
       13 
13 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       14 
14 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       15 
15 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       16 
     | 
    
         
            -
            date: 2021-12- 
     | 
| 
      
 16 
     | 
    
         
            +
            date: 2021-12-17 00:00:00.000000000 Z
         
     | 
| 
       17 
17 
     | 
    
         
             
            dependencies:
         
     | 
| 
       18 
18 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       19 
19 
     | 
    
         
             
              name: bundler
         
     | 
| 
         @@ -617,20 +617,20 @@ executables: 
     | 
|
| 
       617 
617 
     | 
    
         
             
            - contrast_service
         
     | 
| 
       618 
618 
     | 
    
         
             
            extensions:
         
     | 
| 
       619 
619 
     | 
    
         
             
            - ext/cs__common/extconf.rb
         
     | 
| 
       620 
     | 
    
         
            -
            - ext/ 
     | 
| 
       621 
     | 
    
         
            -
            - ext/cs__assess_string/extconf.rb
         
     | 
| 
       622 
     | 
    
         
            -
            - ext/cs__assess_hash/extconf.rb
         
     | 
| 
       623 
     | 
    
         
            -
            - ext/cs__assess_module/extconf.rb
         
     | 
| 
       624 
     | 
    
         
            -
            - ext/cs__assess_kernel/extconf.rb
         
     | 
| 
      
 620 
     | 
    
         
            +
            - ext/cs__assess_fiber_track/extconf.rb
         
     | 
| 
       625 
621 
     | 
    
         
             
            - ext/cs__assess_array/extconf.rb
         
     | 
| 
      
 622 
     | 
    
         
            +
            - ext/cs__assess_string/extconf.rb
         
     | 
| 
      
 623 
     | 
    
         
            +
            - ext/cs__assess_regexp/extconf.rb
         
     | 
| 
      
 624 
     | 
    
         
            +
            - ext/cs__assess_yield_track/extconf.rb
         
     | 
| 
      
 625 
     | 
    
         
            +
            - ext/cs__assess_active_record_named/extconf.rb
         
     | 
| 
       626 
626 
     | 
    
         
             
            - ext/cs__contrast_patch/extconf.rb
         
     | 
| 
      
 627 
     | 
    
         
            +
            - ext/cs__assess_kernel/extconf.rb
         
     | 
| 
      
 628 
     | 
    
         
            +
            - ext/cs__assess_hash/extconf.rb
         
     | 
| 
      
 629 
     | 
    
         
            +
            - ext/cs__assess_string_interpolation26/extconf.rb
         
     | 
| 
       627 
630 
     | 
    
         
             
            - ext/cs__os_information/extconf.rb
         
     | 
| 
       628 
631 
     | 
    
         
             
            - ext/cs__assess_marshal_module/extconf.rb
         
     | 
| 
       629 
     | 
    
         
            -
            - ext/ 
     | 
| 
       630 
     | 
    
         
            -
            - ext/ 
     | 
| 
       631 
     | 
    
         
            -
            - ext/cs__assess_active_record_named/extconf.rb
         
     | 
| 
       632 
     | 
    
         
            -
            - ext/cs__assess_regexp/extconf.rb
         
     | 
| 
       633 
     | 
    
         
            -
            - ext/cs__assess_yield_track/extconf.rb
         
     | 
| 
      
 632 
     | 
    
         
            +
            - ext/cs__assess_basic_object/extconf.rb
         
     | 
| 
      
 633 
     | 
    
         
            +
            - ext/cs__assess_module/extconf.rb
         
     | 
| 
       634 
634 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       635 
635 
     | 
    
         
             
            files:
         
     | 
| 
       636 
636 
     | 
    
         
             
            - ".clang-format"
         
     |