eventmachine-tail 0.6.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/lib/em/filetail.rb +15 -11
  2. metadata +9 -10
  3. data/test/logrotate.conf +0 -4
@@ -180,7 +180,7 @@ class EventMachine::FileTail
180
180
  private
181
181
  def open
182
182
  return if @closed
183
- @file.close if @file
183
+ @file.close if @file && !@file.closed?
184
184
  return unless File.exists?(@path)
185
185
  begin
186
186
  @logger.debug "Opening file #{@path}"
@@ -255,21 +255,25 @@ class EventMachine::FileTail
255
255
  private
256
256
  def read
257
257
  return if @closed
258
+
259
+ data = nil
258
260
  @logger.debug "#{self}: Reading..."
259
261
  begin
260
262
  data = @file.sysread(CHUNKSIZE)
261
- data.force_encoding(@file.external_encoding) if FORCE_ENCODING
262
-
263
- # Won't get here if sysread throws EOF
264
- @position += data.length
265
- @naptime = 0
266
-
267
- # Subclasses should implement receive_data
268
- receive_data(data)
269
- schedule_next_read
270
- rescue EOFError
263
+ rescue EOFError, IOError
271
264
  schedule_eof
265
+ return
272
266
  end
267
+
268
+ data.force_encoding(@file.external_encoding) if FORCE_ENCODING
269
+
270
+ # Won't get here if sysread throws EOF
271
+ @position += data.length
272
+ @naptime = 0
273
+
274
+ # Subclasses should implement receive_data
275
+ receive_data(data)
276
+ schedule_next_read
273
277
  end # def read
274
278
 
275
279
  # Do EOF handling on next EM iteration
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eventmachine-tail
3
3
  version: !ruby/object:Gem::Version
4
- hash: 5
4
+ hash: 3
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 6
9
- - 1
10
- version: 0.6.1
9
+ - 2
10
+ version: 0.6.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jordan Sissel
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-02-22 00:00:00 -08:00
18
+ date: 2011-08-10 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -42,18 +42,17 @@ extensions: []
42
42
  extra_rdoc_files: []
43
43
 
44
44
  files:
45
- - lib/eventmachine-tail.rb
46
45
  - lib/em/filetail.rb
47
46
  - lib/em/globwatcher.rb
48
- - samples/tail.rb
47
+ - lib/eventmachine-tail.rb
49
48
  - samples/glob-tail.rb
50
49
  - samples/globwatch.rb
51
50
  - samples/tail-with-block.rb
52
- - test/test_filetail.rb
53
- - test/logrotate.conf
54
- - test/test_glob.rb
51
+ - samples/tail.rb
55
52
  - test/alltests.rb
53
+ - test/test_glob.rb
56
54
  - test/testcase_helpers.rb
55
+ - test/test_filetail.rb
57
56
  - bin/rtail
58
57
  - bin/emtail
59
58
  has_rdoc: true
@@ -87,7 +86,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
87
86
  requirements: []
88
87
 
89
88
  rubyforge_project:
90
- rubygems_version: 1.5.0
89
+ rubygems_version: 1.6.2
91
90
  signing_key:
92
91
  specification_version: 3
93
92
  summary: eventmachine tail - a file tail implementation with glob support
@@ -1,4 +0,0 @@
1
- /tmp/foo/testfile {
2
- rotate 5
3
- size 50
4
- }