rbbt-util 5.26.170 → 5.26.171

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ec58135152ab8da64225ec6ee2c82630300f745e9a97da8bfbce6d1286792f28
4
- data.tar.gz: 7ddc25495f7f37536aac591c645095acd176f36dcb68c7e2f24f53d8a8ad7354
3
+ metadata.gz: b30207a19261c11a2613c091fde28604cc9186a6fafec8f74b33ecbb4e9cbac9
4
+ data.tar.gz: 3822e3009d4955690eff0e5554756cf6b1e898e1e9235814630f37a7e3192cfd
5
5
  SHA512:
6
- metadata.gz: 11bd33815e5d784ef4c2fe8dca4580a6896a76aaa14fd7e67251ceb193e46472e25d292e5fec23116a39afe15c3951b83cd9696a3050b669c60ee7af6fd759bd
7
- data.tar.gz: 87d3e4dfbf4286c8303b9bedd83462c5cb6f276802fd54068c9628a64bcff5d4a6cbde520de9495763f4cf008acc8465b1d4df1cc2955bdfe99c34cd42c9ae40
6
+ metadata.gz: 187d8e5dd75a5bfc750e93e6f8d41b4bf813ab800bb33b6aefd07695fc5d3d7531b904cb049b72f56cd06089d651d090152a8e7adfe3e0642182bf229d3b5ee9
7
+ data.tar.gz: 383c16854ec7772f32ced9fc0a57708b626b3db59cce5b41cee7ae909418f96f0058eba3e488db167a68d760bc8b85f252998f7aa9fb577ba9aec45d461c5d8f
@@ -52,26 +52,35 @@ module Persist
52
52
  out(key)
53
53
  end
54
54
 
55
+ def lock
56
+ lock_filename = Persist.persistence_path(persistence_path, {:dir => TSV.lock_dir})
57
+ Misc.lock(lock_filename) do
58
+ yield
59
+ end
60
+ end
61
+
55
62
  def write_and_read
56
- lock_filename = Persist.persistence_path(persistence_path + '.write', {:dir => TSV.lock_dir})
63
+ #lock_filename = Persist.persistence_path(persistence_path, {:dir => TSV.lock_dir})
57
64
  #mutex.synchronize do
58
- Misc.lock(lock_filename) do
59
- write if closed? or not write?
60
- res = begin
61
- yield
62
- ensure
63
- read
64
- end
65
- res
65
+ #Misc.lock(lock_filename) do
66
+ lock do
67
+ write true if closed? or not write?
68
+ begin
69
+ yield
70
+ ensure
71
+ read
72
+ end
66
73
  end
67
74
  #end
75
+ #end
68
76
  end
69
77
 
70
78
  def write_and_close
71
- lock_filename = Persist.persistence_path(persistence_path + '.write', {:dir => TSV.lock_dir})
79
+ #lock_filename = Persist.persistence_path(persistence_path + '.write', {:dir => TSV.lock_dir})
72
80
  #mutex.synchronize do
73
- Misc.lock(lock_filename, true) do
74
- write if closed? || ! write?
81
+ #Misc.lock(lock_filename, true) do
82
+ lock do
83
+ write true if closed? || ! write?
75
84
  res = begin
76
85
  yield
77
86
  rescue Exception
@@ -81,18 +90,20 @@ module Persist
81
90
  close
82
91
  end
83
92
  res
84
- #end
85
93
  end
94
+ #end
95
+ #end
86
96
  end
87
97
 
88
98
  def read_and_close
89
- read if closed? || ! read?
90
- res = begin
91
- yield
92
- ensure
93
- close
94
- end
95
- res
99
+ lock do
100
+ read true if closed? || ! read?
101
+ begin
102
+ yield
103
+ ensure
104
+ close
105
+ end
106
+ end
96
107
  end
97
108
 
98
109
 
@@ -73,9 +73,9 @@ module Filtered
73
73
 
74
74
  def save(ids)
75
75
  if persistence
76
- persistence.write
77
- persistence[self.key] = ids
78
- persistence.read
76
+ persistence.write_and_close do
77
+ persistence[self.key] = ids
78
+ end
79
79
  else
80
80
  if @list.nil?
81
81
  @list = ids
@@ -103,7 +103,9 @@ module Filtered
103
103
  list
104
104
  else
105
105
  return nil if not persistence.include?(self.key)
106
- persistence[self.key]
106
+ persistence.write_and_close do
107
+ persistence[self.key]
108
+ end
107
109
  end
108
110
  end
109
111
 
@@ -130,10 +132,13 @@ module Filtered
130
132
  def clean
131
133
  add_unsaved
132
134
  if persistence and persistence.include? self.key
133
- restore = ! persistence.write?
134
- persistence.write unless persistence.write?
135
- persistence.delete self.key
136
- persistence.read if restore
135
+ persistence.write_and_close do
136
+ persistence.delete self.key
137
+ end
138
+ #restore = ! persistence.write?
139
+ #persistence.write unless persistence.write?
140
+ #persistence.delete self.key
141
+ #persistence.read if restore
137
142
  else
138
143
  @list = nil
139
144
  end
@@ -142,7 +147,9 @@ module Filtered
142
147
  def reset
143
148
  add_unsaved
144
149
  if persistence
145
- persistence.clear
150
+ persistence.write_and_close do
151
+ persistence.clear
152
+ end
146
153
  else
147
154
  @list = nil
148
155
  end
@@ -507,6 +507,7 @@ class Step
507
507
  ret = RbbtSemaphore.wait_semaphore(semaphore)
508
508
  raise SemaphoreInterrupted if ret == -1
509
509
  end
510
+
510
511
  begin
511
512
  begin
512
513
  @forked = true
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbbt-util
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.26.170
4
+ version: 5.26.171
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-13 00:00:00.000000000 Z
11
+ date: 2020-04-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake