mixlib-shellout 3.1.4-universal-mingw32 → 3.1.6-universal-mingw32
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dceb80e3fced860900c612e990a7dcec95a3bbc940520fbe984407f6989cf795
|
4
|
+
data.tar.gz: 7250e65e3ed3ccb0c157563daef66d6cab98f04162fab1e2a6f8984f7cc16f06
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 509f7ab8d7abb0edc51ac6e7bf46e503c03ffc3a6b5ba112c6c5e81bbf85d9af7a52a1217985d409903e7cf16442e118609cee0a99fd44fefcee0c64ce8c4ac1
|
7
|
+
data.tar.gz: f7b814ff519e2d5836d9b554bd33b0bf0882a4f8627521d0673ea9efd195be5899e73fb0db90fe0505741b153b2a194320367d0b973d14c8e55c78dfe920376d
|
data/lib/mixlib/shellout.rb
CHANGED
@@ -248,7 +248,7 @@ module Mixlib
|
|
248
248
|
# running or died without setting an exit status (e.g., terminated by
|
249
249
|
# `kill -9`).
|
250
250
|
def exitstatus
|
251
|
-
@status
|
251
|
+
@status&.exitstatus
|
252
252
|
end
|
253
253
|
|
254
254
|
# Run the command, writing the command's standard out and standard error
|
data/lib/mixlib/shellout/unix.rb
CHANGED
@@ -370,11 +370,11 @@ module Mixlib
|
|
370
370
|
return if attempt_reap
|
371
371
|
|
372
372
|
@terminate_reason = "Command exceeded allowed execution time, process terminated"
|
373
|
-
logger
|
373
|
+
logger&.error("Command exceeded allowed execution time, sending TERM")
|
374
374
|
Process.kill(:TERM, child_pgid)
|
375
375
|
sleep 3
|
376
376
|
attempt_reap
|
377
|
-
logger
|
377
|
+
logger&.error("Command exceeded allowed execution time, sending KILL")
|
378
378
|
Process.kill(:KILL, child_pgid)
|
379
379
|
reap
|
380
380
|
|
@@ -89,7 +89,7 @@ module Mixlib
|
|
89
89
|
# Start the process
|
90
90
|
#
|
91
91
|
process, profile, token = Process.create3(create_process_args)
|
92
|
-
logger
|
92
|
+
logger&.debug(format_process(process, app_name, command_line, timeout))
|
93
93
|
begin
|
94
94
|
# Start pushing data into input
|
95
95
|
stdin_write << input if input
|
@@ -124,7 +124,7 @@ module Mixlib
|
|
124
124
|
kill_process_tree(process.process_id, wmi, logger)
|
125
125
|
Process.kill(:KILL, process.process_id)
|
126
126
|
rescue SystemCallError
|
127
|
-
logger
|
127
|
+
logger&.warn("Failed to kill timed out process #{process.process_id}")
|
128
128
|
end
|
129
129
|
|
130
130
|
raise Mixlib::ShellOut::CommandTimeout, [
|
@@ -398,20 +398,16 @@ module Mixlib
|
|
398
398
|
|
399
399
|
def kill_process(instance, logger)
|
400
400
|
child_pid = instance.wmi_ole_object.processid
|
401
|
-
|
402
|
-
logger.debug([
|
401
|
+
logger&.debug([
|
403
402
|
"killing child process #{child_pid}::",
|
404
403
|
"#{instance.wmi_ole_object.Name} of parent #{pid}",
|
405
404
|
].join)
|
406
|
-
end
|
407
405
|
Process.kill(:KILL, instance.wmi_ole_object.processid)
|
408
406
|
rescue SystemCallError
|
409
|
-
|
410
|
-
logger.debug([
|
407
|
+
logger&.debug([
|
411
408
|
"Failed to kill child process #{child_pid}::",
|
412
409
|
"#{instance.wmi_ole_object.Name} of parent #{pid}",
|
413
410
|
].join)
|
414
|
-
end
|
415
411
|
end
|
416
412
|
|
417
413
|
def format_process(process, app_name, command_line, timeout)
|
@@ -21,7 +21,6 @@ require "win32/process"
|
|
21
21
|
|
22
22
|
# Add new constants for Logon
|
23
23
|
module Process::Constants
|
24
|
-
private
|
25
24
|
|
26
25
|
LOGON32_LOGON_INTERACTIVE = 0x00000002
|
27
26
|
LOGON32_LOGON_BATCH = 0x00000004
|
@@ -148,15 +147,13 @@ module Process
|
|
148
147
|
si_hash = {}
|
149
148
|
|
150
149
|
# If the startup_info key is present, validate its subkeys
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
raise ArgumentError, "invalid startup_info key '#{key}'"
|
156
|
-
end
|
157
|
-
|
158
|
-
si_hash[key] = val
|
150
|
+
hash["startup_info"]&.each do |key, val|
|
151
|
+
key = key.to_s.downcase
|
152
|
+
unless valid_si_keys.include?(key)
|
153
|
+
raise ArgumentError, "invalid startup_info key '#{key}'"
|
159
154
|
end
|
155
|
+
|
156
|
+
si_hash[key] = val
|
160
157
|
end
|
161
158
|
|
162
159
|
# The +command_line+ key is mandatory unless the +app_name+ key
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mixlib-shellout
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.6
|
5
5
|
platform: universal-mingw32
|
6
6
|
authors:
|
7
7
|
- Chef Software Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-09-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chef-utils
|