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.
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.