xlogin 0.10.3 → 0.10.4

Sign up to get free protection for your applications and to get access to all the features.
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