catfriend 0.19 → 0.20
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/catfriend +12 -9
- data/lib/catfriend/dbus.rb +0 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4870d46bdd4296ca840969fcc9ebad30a4150c53
|
4
|
+
data.tar.gz: 10831e38fd1306167d09437695f824ea263dbcb5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c56e2de3fb47164c7c20b47e9ed1c7826035716f8d9e6109395dcbd9c741f39ef0b4d765c4198fab1483f89a4454bd4d60a0fcc0d8faad1918cac36fe3e3d7ee
|
7
|
+
data.tar.gz: 5dcbeeeb1193e9cd7b5bc50a67727c0ec9616eda4dcd1a18af904cd1384b37a523e08028338844758847b3daf3a124eb5411b68e8f4b0cfb0c07c6d3e1d77193
|
data/bin/catfriend
CHANGED
@@ -153,19 +153,23 @@ end
|
|
153
153
|
|
154
154
|
def self.main_loop servers
|
155
155
|
mutex = Mutex.new
|
156
|
-
|
156
|
+
shutdown_condition = ConditionVariable.new
|
157
157
|
dbus = DBus.new
|
158
158
|
|
159
|
-
|
160
|
-
mutex.synchronize {
|
159
|
+
signal_shutdown = proc do
|
160
|
+
mutex.synchronize { shutdown_condition.signal }
|
161
161
|
end
|
162
162
|
|
163
|
-
dbus.on
|
163
|
+
dbus.on(:disconnect) do
|
164
|
+
Catfriend.whisper "received shutdown request"
|
165
|
+
signal_shutdown.call
|
166
|
+
end
|
164
167
|
|
165
168
|
servers.each do |server|
|
166
169
|
server.on(:error) do |message|
|
167
|
-
$stderr.puts "#{server.id}: #{message}"
|
168
|
-
|
170
|
+
$stderr.puts "#{server.id}: server error - #{message}"
|
171
|
+
# TODO: error notification?
|
172
|
+
signal_shutdown.call
|
169
173
|
end
|
170
174
|
end
|
171
175
|
|
@@ -173,11 +177,10 @@ def self.main_loop servers
|
|
173
177
|
dbus.start
|
174
178
|
servers.each &:start
|
175
179
|
|
176
|
-
# then wait
|
177
|
-
mutex.synchronize {
|
180
|
+
# then wait until something tells the main thread to shutdown
|
181
|
+
mutex.synchronize { shutdown_condition.wait(mutex) }
|
178
182
|
|
179
183
|
# clean up and exit
|
180
|
-
Catfriend.whisper 'caught error condition, disconnecting from servers'
|
181
184
|
servers.each &:disconnect
|
182
185
|
|
183
186
|
Catfriend.whisper 'joining child threads'
|
data/lib/catfriend/dbus.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: catfriend
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.20'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Pike
|
@@ -101,7 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
101
101
|
version: '1.3'
|
102
102
|
requirements: []
|
103
103
|
rubyforge_project:
|
104
|
-
rubygems_version: 2.2.
|
104
|
+
rubygems_version: 2.2.0
|
105
105
|
signing_key:
|
106
106
|
specification_version: 4
|
107
107
|
summary: E-mail checker with desktop notifications.
|