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 +4 -4
- data/lib/xlogin/session_pool.rb +12 -6
- data/lib/xlogin/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9d1d3a6d542d119f68907e730830c7a96c3cfe000651344aa55f8eecbfd9641e
|
4
|
+
data.tar.gz: aeebf45583736b0c2d8754f1b3440b5970074e631dcb38493c0c3c213fdb39f6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: af2864edb358c631ebf2dc1113d2168d024fbd2005549f6fcf415ff4898e2fe3708537a19d6ad085ff296a29b9007261cdf90a1ef0abdd038d65fe2f510afaf7
|
7
|
+
data.tar.gz: 569159401aab9730cebd526136b7524b7cbb449c0d31bfd580d59b4eac03aabb1932d5ea71bfa51d5064edc10f4f529c5a206b949ecced0af5227bd5d080d350
|
data/lib/xlogin/session_pool.rb
CHANGED
@@ -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,
|
69
|
-
|
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
|
-
|
76
|
-
|
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,
|
86
|
+
@queue.enq [session, created, cleaner]
|
81
87
|
end
|
82
88
|
|
83
89
|
def destroy(session)
|
data/lib/xlogin/version.rb
CHANGED
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.
|
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-
|
11
|
+
date: 2019-01-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-telnet
|