packet 0.1.11 → 0.1.12

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.
@@ -29,5 +29,5 @@ require "packet/packet_worker"
29
29
  PACKET_APP = File.expand_path'../' unless defined?(PACKET_APP)
30
30
 
31
31
  module Packet
32
- VERSION='0.1.11'
32
+ VERSION='0.1.12'
33
33
  end
@@ -286,16 +286,22 @@ module Packet
286
286
  end
287
287
 
288
288
  def check_for_timer_events
289
- @timer_hash.delete_if do |key,timer|
290
- if timer.cancel_flag
291
- true
292
- elsif timer.run_now?
293
- timer.run
294
- (timer.respond_to?(:interval)) ? false : true
295
- else
296
- false
297
- end
298
- end
289
+ # @timer_hash.delete_if do |key,timer|
290
+ # if timer.cancel_flag
291
+ # true
292
+ # elsif timer.run_now?
293
+ # timer.run
294
+ # (timer.respond_to?(:interval)) ? false : true
295
+ # else
296
+ # false
297
+ # end
298
+ # end
299
+
300
+ ready_timers = @timer_hash.collect { |key,timer| timer if timer.run_now? }.compact
301
+ ready_timers.each { |timer| timer.run }
302
+ @timer_hash.delete_if { |key,timer|
303
+ timer.cancel_flag || (!timer.respond_to?(:interval) && ready_timers.include?(timer)) || false
304
+ }
299
305
  end
300
306
 
301
307
  # close the connection with internal specified socket
@@ -102,16 +102,23 @@ module Packet
102
102
  option_dump = Marshal.dump(worker_options)
103
103
  option_dump_length = option_dump.length
104
104
  master_write_end.write(option_dump)
105
+ worker_name_key = gen_worker_key(t_worker_name,worker_options[:worker_key])
105
106
 
106
107
  if(!(pid = fork))
107
108
  [master_write_end,master_read_end].each { |x| x.close }
108
109
  [worker_read_end,worker_write_end].each { |x| enable_nonblock(x) }
110
+ begin
111
+ if(ARGV[0] == 'start')
112
+ log_file = File.open("log/#{worker_name_key}.log","w")
113
+ [STDIN, STDOUT, STDERR].each {|desc| desc.reopen(log_file)}
114
+ end
115
+ rescue; end
109
116
  exec form_cmd_line(worker_read_end.fileno,worker_write_end.fileno,t_worker_name,option_dump_length)
110
117
  end
111
118
  Process.detach(pid)
112
119
  [master_read_end,master_write_end].each { |x| enable_nonblock(x) }
113
120
 
114
- worker_name_key = gen_worker_key(t_worker_name,worker_options[:worker_key])
121
+
115
122
 
116
123
  if worker_pimp && !worker_pimp.empty?
117
124
  require worker_pimp
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: packet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.11
4
+ version: 0.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hemant Kumar
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-08-29 00:00:00 +05:30
12
+ date: 2008-09-03 00:00:00 +05:30
13
13
  default_executable:
14
14
  dependencies: []
15
15