catfriend 0.19 → 0.20
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/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.
|