xlogin 0.11.8 → 0.11.9

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: 8fd335318689c026b7aa162b99de3a54e4ae760123fef926775bb7cd4d433b49
4
- data.tar.gz: 9f343da2fdd052cd9dfb4cc7d7e66de7a2f839549603d9313eaca7b116965f40
3
+ metadata.gz: 523b5807afae2b2175f43b09e7c05c00d0d5497dc0d639b517b2284081fd1bb9
4
+ data.tar.gz: e8fdb5028df03bb6c91f21164e2f350db7d1f225c257f8d736a17694ce33561a
5
5
  SHA512:
6
- metadata.gz: 70ba27017719f0c4a1f0a384d2b1c90ccf3afbd753c712ff1e72b5d26a4696a811b4510ff41712107def86a08835d7e558e59a0f3e4e9e323804932251a142e7
7
- data.tar.gz: 8406f62ad439bc9b075519f0b4be068408bf7ddd315b538b0ac9316ce2e6c33e3c135e59460604e2351edb236923f37e076c063c5b9c1d57bef60a21bb354d6c
6
+ metadata.gz: 12dcd547fc39f2f46300b4effc16653234444e172cc021c23fc6bd543088dd2d3cfe54a232f7f4b0fe8960d9cb646627143d58b8b6fed389ef1a222c8af5daa6
7
+ data.tar.gz: e2e1ac68aa439389b97ad59c230a6eb673971ce914fb99070a712b6d96ef82b245a7ee6012b77378b55e53d7bf8706a804a438de52e0c5fa371902138131d409
@@ -11,7 +11,6 @@ module Xlogin
11
11
  def initialize
12
12
  @inventory = Hash.new
13
13
  @templates = Hash.new
14
- @session_pool = Hash.new
15
14
  end
16
15
 
17
16
  def set_inventory(name, **opts)
@@ -59,14 +58,7 @@ module Xlogin
59
58
  end
60
59
 
61
60
  def build_pool(args, **opts)
62
- uri = case args
63
- when Hash then uri(args)
64
- when String then uri(get_inventory(args))
65
- else return
66
- end
67
-
68
- param = opts.map { |k, v| "#{k}=#{v}" }.join('&')
69
- @session_pool["#{uri}?#{param}"] ||= Xlogin::SessionPool.new(args, **opts)
61
+ Xlogin::SessionPool.new(args, **opts)
70
62
  end
71
63
 
72
64
  def build_from_hostname(args, **opts)
@@ -76,7 +76,11 @@ module Xlogin
76
76
  next if logger.nil? || [$stdout, $stderr].include?(logger)
77
77
  logger.close
78
78
  end
79
- @gateway.shutdown! if @gateway
79
+
80
+ if @gateway
81
+ @gateway.close(@port)
82
+ @gateway.shutdown!
83
+ end
80
84
 
81
85
  super
82
86
  end
@@ -32,9 +32,9 @@ module Xlogin
32
32
  def with
33
33
  session = deq
34
34
  begin
35
- session.prompt # confirm that the session is still alive
35
+ raise IOError if session.sock.closed?
36
36
  rescue IOError, EOFError, Errno::ECONNABORTED, Errno::ECONNREFUSED, Errno::ECONNRESET
37
- destroy session
37
+ destroy(session)
38
38
  session = deq
39
39
  end
40
40
 
@@ -46,7 +46,7 @@ module Xlogin
46
46
  def close
47
47
  while @queue.empty?
48
48
  session, _, _ = @queue.deq
49
- destroy session
49
+ destroy(session)
50
50
  end
51
51
  end
52
52
 
@@ -61,18 +61,17 @@ module Xlogin
61
61
 
62
62
  session, created, cleaner = @queue.deq
63
63
  if Time.now - created > @idle
64
- destroy session
64
+ destroy(session)
65
65
  return deq
66
66
  end
67
67
 
68
- cleaner.kill
69
68
  session
70
69
  end
71
70
 
72
71
  def enq(session)
73
72
  created = Time.now
74
73
  cleaner = Thread.new(session) do |s|
75
- sleep @idle * 2
74
+ sleep @idle * 1.5
76
75
  s.close rescue nil
77
76
  end
78
77
 
@@ -1,3 +1,3 @@
1
1
  module Xlogin
2
- VERSION = "0.11.8"
2
+ VERSION = "0.11.9"
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.11.8
4
+ version: 0.11.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - haccht
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-12 00:00:00.000000000 Z
11
+ date: 2019-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-telnet