weel 1.99.113 → 1.99.115
Sign up to get free protection for your applications and to get access to all the features.
- 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)
|