xlogin 0.10.3 → 0.10.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dfab506409777ce24bc1e5351aba0425cb2479eeafc5de190ee959c1ab4c73db
4
- data.tar.gz: 7fc2e8339ae809ab0f7dac7e06d4d5231d31b50710053bcb25fdd321fc86c35c
3
+ metadata.gz: 9d1d3a6d542d119f68907e730830c7a96c3cfe000651344aa55f8eecbfd9641e
4
+ data.tar.gz: aeebf45583736b0c2d8754f1b3440b5970074e631dcb38493c0c3c213fdb39f6
5
5
  SHA512:
6
- metadata.gz: 0e1e635565895b322b5990ab006215670d12363c2ddf893f64acf3a457a3cb6e992b70d9cb70ec092306314f6c3c6d371644990b4ce98e62be79be39b10df748
7
- data.tar.gz: d95d17330cbbbc9fc58b0605c5b7af1d1f70a6317fb53c20e09d6c6336602a0f5047bfea60c70b1dbd83732fcaddc8d33e96983b4bcb680fd43a74e9e26a92a1
6
+ metadata.gz: af2864edb358c631ebf2dc1113d2168d024fbd2005549f6fcf415ff4898e2fe3708537a19d6ad085ff296a29b9007261cdf90a1ef0abdd038d65fe2f510afaf7
7
+ data.tar.gz: 569159401aab9730cebd526136b7524b7cbb449c0d31bfd580d59b4eac03aabb1932d5ea71bfa51d5064edc10f4f529c5a206b949ecced0af5227bd5d080d350
@@ -1,3 +1,4 @@
1
+ require 'time'
1
2
  require 'thread'
2
3
 
3
4
  module Xlogin
@@ -51,7 +52,7 @@ module Xlogin
51
52
 
52
53
  def close
53
54
  while @queue.empty?
54
- session, _ = @queue.deq
55
+ session, _, _ = @queue.deq
55
56
  destroy session
56
57
  end
57
58
  end
@@ -65,19 +66,24 @@ module Xlogin
65
66
  end
66
67
  end
67
68
 
68
- session, timer = @queue.deq
69
- timer.kill
69
+ session, created, cleaner = @queue.deq
70
+ if Time.now - created > @idle
71
+ destroy session
72
+ return deq
73
+ end
70
74
 
75
+ cleaner.kill
71
76
  session
72
77
  end
73
78
 
74
79
  def enq(session)
75
- timer = Thread.new(session) do |s|
76
- sleep @idle
80
+ created = Time.now
81
+ cleaner = Thread.new(session) do |s|
82
+ sleep @idle * 2
77
83
  s.close rescue nil
78
84
  end
79
85
 
80
- @queue.enq [session, timer]
86
+ @queue.enq [session, created, cleaner]
81
87
  end
82
88
 
83
89
  def destroy(session)
@@ -1,3 +1,3 @@
1
1
  module Xlogin
2
- VERSION = "0.10.3"
2
+ VERSION = "0.10.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xlogin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.3
4
+ version: 0.10.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - haccht
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-10 00:00:00.000000000 Z
11
+ date: 2019-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-telnet