xlogin 0.11.8 → 0.11.9

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: 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