weel 1.99.113 → 1.99.115
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/weel.rb +7 -2
- data/weel.gemspec +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2f20fd5f7b32a6434668eeaaa8045d5c0296572bef72e2f5c379463db03f2920
|
|
4
|
+
data.tar.gz: 19f0d8bec594c5dbcd7c1d320ff48f57e79576cf9a0ce49ddd8831941fdcf300
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: aa1b2e8be0012e82d0357898e6d1e393899c4b1e1fca9351d9e129cb0bad2098d4e9455aa7167f7692b4befcdb8b413fb57b89f7a1bbc7fa07518667340d5dc9
|
|
7
|
+
data.tar.gz: b3f2448a93b65276467bf1cf7e4317313063bbd36e7658d84d3668e924b629812b4172d674b67d7a22fd49e412b3106d68c2289ffefcc7f0b1110de5e24f568a
|
data/lib/weel.rb
CHANGED
|
@@ -486,7 +486,7 @@ class WEEL
|
|
|
486
486
|
# Defines Workflow paths that can be executed parallel.
|
|
487
487
|
# May contain multiple branches (parallel_branch)
|
|
488
488
|
def parallel(type=nil,&block)# {{{
|
|
489
|
-
return if self.__weel_state == :stopping || self.__weel_state == :finishing || self.__weel_state == :stopped
|
|
489
|
+
return if self.__weel_state == :stopping || self.__weel_state == :finishing || self.__weel_state == :stopped || Thread.current[:nolongernecessary]
|
|
490
490
|
|
|
491
491
|
Thread.current[:branches] = []
|
|
492
492
|
Thread.current[:branch_traces] = {}
|
|
@@ -586,6 +586,7 @@ class WEEL
|
|
|
586
586
|
branch_parent[:mutex].synchronize do
|
|
587
587
|
Thread.current[:branch_status] = true
|
|
588
588
|
branch_parent[:branch_finished_count] += 1
|
|
589
|
+
|
|
589
590
|
if branch_parent[:branch_finished_count] == branch_parent[:branch_wait_count] && self.__weel_state != :stopping && self.__weel_state != :finishing
|
|
590
591
|
branch_parent[:branch_event].continue
|
|
591
592
|
end
|
|
@@ -647,6 +648,7 @@ class WEEL
|
|
|
647
648
|
|
|
648
649
|
# Defines a critical block (=Mutex)
|
|
649
650
|
def critical(id,&block)# {{{
|
|
651
|
+
return if self.__weel_state == :stopping || self.__weel_state == :finishing || self.__weel_state == :stopped || Thread.current[:nolongernecessary]
|
|
650
652
|
@__weel_critical ||= Mutex.new
|
|
651
653
|
semaphore = nil
|
|
652
654
|
@__weel_critical.synchronize do
|
|
@@ -901,6 +903,7 @@ class WEEL
|
|
|
901
903
|
# handshake call and wait until it finished
|
|
902
904
|
waitingresult = nil
|
|
903
905
|
waitingresult = Thread.current[:continue].wait unless Thread.current[:nolongernecessary] || self.__weel_state == :stopping || self.__weel_state == :finishing || self.__weel_state == :stopped
|
|
906
|
+
|
|
904
907
|
raise waitingresult[1] if !waitingresult.nil? && waitingresult.is_a?(Array) && waitingresult.length == 2 && waitingresult[0] == WEEL::Signal::Error
|
|
905
908
|
|
|
906
909
|
if Thread.current[:nolongernecessary]
|
|
@@ -913,6 +916,8 @@ class WEEL
|
|
|
913
916
|
raise Signal::Proceed if wp.passthrough # if stop, but no passthrough, let manipulate happen and then stop
|
|
914
917
|
end
|
|
915
918
|
|
|
919
|
+
next if waitingresult == WEEL::Signal::Again && connectionwrapper.activity_result_value&.length == 0
|
|
920
|
+
|
|
916
921
|
code = if waitingresult == WEEL::Signal::Again
|
|
917
922
|
update
|
|
918
923
|
elsif waitingresult == WEEL::Signal::Salvage
|
|
@@ -968,6 +973,7 @@ class WEEL
|
|
|
968
973
|
rescue Signal::NoLongerNecessary
|
|
969
974
|
@__weel_positions.delete wp
|
|
970
975
|
Thread.current[:branch_position] = nil
|
|
976
|
+
wp.passthrough = nil
|
|
971
977
|
wp.detail = :unmark
|
|
972
978
|
@__weel_connectionwrapper::inform_position_change @__weel_connectionwrapper_args, :unmark => [wp]
|
|
973
979
|
rescue Signal::StopSkipManipulate, Signal::Stop
|
|
@@ -1005,7 +1011,6 @@ class WEEL
|
|
|
1005
1011
|
end # }}}
|
|
1006
1012
|
|
|
1007
1013
|
def __weel_recursive_print(thread,indent='')# {{{
|
|
1008
|
-
p "#{indent}#{thread}"
|
|
1009
1014
|
if thread[:branches]
|
|
1010
1015
|
thread[:branches].each do |b|
|
|
1011
1016
|
__weel_recursive_print(b,indent+' ')
|
data/weel.gemspec
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: weel
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.99.
|
|
4
|
+
version: 1.99.115
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Juergen eTM Mangler
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2024-
|
|
12
|
+
date: 2024-06-11 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: test-unit
|
|
@@ -102,7 +102,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
102
102
|
- !ruby/object:Gem::Version
|
|
103
103
|
version: '0'
|
|
104
104
|
requirements: []
|
|
105
|
-
rubygems_version: 3.
|
|
105
|
+
rubygems_version: 3.5.9
|
|
106
106
|
signing_key:
|
|
107
107
|
specification_version: 4
|
|
108
108
|
summary: Workflow Execution Engine Library (WEEL)
|