catfriend 0.19 → 0.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/bin/catfriend +12 -9
  3. data/lib/catfriend/dbus.rb +0 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 70a3c7bfef9dea8ae908b9bd4f8ad5c152446c41
4
- data.tar.gz: 6210b287d37486075d732b501e579d6263488ddc
3
+ metadata.gz: 4870d46bdd4296ca840969fcc9ebad30a4150c53
4
+ data.tar.gz: 10831e38fd1306167d09437695f824ea263dbcb5
5
5
  SHA512:
6
- metadata.gz: d685013b3804d4fb0dd950717c68714dde0836acd46568d70101ce314d0562eb221b7f3222ae66cef4bed99ea0a92e6fe74112d84cfb0d31ec53d548d7498158
7
- data.tar.gz: 4df0662912069f5f075281ec1d553198da65e1d1d2d45f07cbec13ec88318b86dd8c7f89c76d63a5411a81c964f196a688be20fc45dfb9b2bcf6e6af36aecb7b
6
+ metadata.gz: c56e2de3fb47164c7c20b47e9ed1c7826035716f8d9e6109395dcbd9c741f39ef0b4d765c4198fab1483f89a4454bd4d60a0fcc0d8faad1918cac36fe3e3d7ee
7
+ data.tar.gz: 5dcbeeeb1193e9cd7b5bc50a67727c0ec9616eda4dcd1a18af904cd1384b37a523e08028338844758847b3daf3a124eb5411b68e8f4b0cfb0c07c6d3e1d77193
@@ -153,19 +153,23 @@ end
153
153
 
154
154
  def self.main_loop servers
155
155
  mutex = Mutex.new
156
- error_condition = ConditionVariable.new
156
+ shutdown_condition = ConditionVariable.new
157
157
  dbus = DBus.new
158
158
 
159
- on_error = proc do
160
- mutex.synchronize { error_condition.signal }
159
+ signal_shutdown = proc do
160
+ mutex.synchronize { shutdown_condition.signal }
161
161
  end
162
162
 
163
- dbus.on :disconnect, on_error
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
- on_error
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 for an error
177
- mutex.synchronize { error_condition.wait(mutex) }
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'
@@ -26,7 +26,6 @@ class DBus
26
26
 
27
27
  dbus_interface INTERFACE do
28
28
  dbus_method :stop do
29
- Catfriend.whisper "received shutdown request"
30
29
  @main.quit # this must be run from within method handler
31
30
  @emitter.emit :disconnect
32
31
  end
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.19'
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.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.