win32-process 0.7.4 → 0.7.5
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 +4 -4
- data/CHANGES +7 -0
- data/README +5 -3
- data/Rakefile +2 -2
- data/lib/win32/process.rb +14 -10
- data/test/test_win32_process.rb +1 -1
- data/test/test_win32_process_kill.rb +6 -0
- data/win32-process.gemspec +1 -2
- metadata +16 -16
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7abeeac7e3b746666569ab363e702c8939a4a596
|
|
4
|
+
data.tar.gz: 693447613255756de95668ddfefa702ecc5b9921
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2a7faa782828c7a8cbbf54f997ded9a3c97023b641417207e03938378520f0072b29e7fc1d11c26307e59c94ff975cdfdfebdbe9cbc0adedf2abe57a1251ecee
|
|
7
|
+
data.tar.gz: 9a1ba82a14f16365850fbc7e50787c3233fedd3d54307757202dd60d05a9f4057cc4e617d3ad7d97783861c4098ee82c6bfdb56a8d4210d6404aca1a0682e613
|
data/CHANGES
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
= 0.7.5 - 3-Mar-2015
|
|
2
|
+
* Use require_relative where possible.
|
|
3
|
+
* Fixed a bug in Process.setrlimit. Note that this method has been marked
|
|
4
|
+
as experimental until further notice.
|
|
5
|
+
* Minor updates to gemspec and Rakefile.
|
|
6
|
+
* Added known issue for JRuby and SIGBRK to the README.
|
|
7
|
+
|
|
1
8
|
= 0.7.4 - 21-Oct-2013
|
|
2
9
|
* Fixed the INVALID_HANDLE_VALUE constant for 64-bit versions of Ruby.
|
|
3
10
|
* Added Rake as a development dependency.
|
data/README
CHANGED
|
@@ -55,15 +55,17 @@
|
|
|
55
55
|
This was added at some point in the Ruby 1.9 dev cycle so it was removed
|
|
56
56
|
from this library.
|
|
57
57
|
|
|
58
|
-
= Known
|
|
59
|
-
|
|
58
|
+
= Known Issues
|
|
59
|
+
JRuby doesn't seem to like SIGBRK for Process.kill.
|
|
60
|
+
|
|
61
|
+
Any issues or bugs should be reported on the project page at
|
|
60
62
|
https://github.com/djberg96/win32-process.
|
|
61
63
|
|
|
62
64
|
= License
|
|
63
65
|
Artistic 2.0
|
|
64
66
|
|
|
65
67
|
= Copyright
|
|
66
|
-
(C) 2003-
|
|
68
|
+
(C) 2003-2015 Daniel J. Berger
|
|
67
69
|
All Rights Reserved
|
|
68
70
|
|
|
69
71
|
= Warranty
|
data/Rakefile
CHANGED
|
@@ -10,7 +10,7 @@ namespace :gem do
|
|
|
10
10
|
desc 'Create the win32-process gem'
|
|
11
11
|
task :create => [:clean] do
|
|
12
12
|
spec = eval(IO.read('win32-process.gemspec'))
|
|
13
|
-
if Gem::VERSION
|
|
13
|
+
if Gem::VERSION < "2.0"
|
|
14
14
|
Gem::Builder.new(spec).build
|
|
15
15
|
else
|
|
16
16
|
require 'rubygems/package'
|
|
@@ -21,7 +21,7 @@ namespace :gem do
|
|
|
21
21
|
desc 'Install the win32-process gem'
|
|
22
22
|
task :install => [:create] do
|
|
23
23
|
file = Dir["*.gem"].first
|
|
24
|
-
sh "gem install #{file}"
|
|
24
|
+
sh "gem install -l #{file}"
|
|
25
25
|
end
|
|
26
26
|
end
|
|
27
27
|
|
data/lib/win32/process.rb
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
require_relative 'process/functions'
|
|
2
|
+
require_relative 'process/constants'
|
|
3
|
+
require_relative 'process/structs'
|
|
4
|
+
require_relative 'process/helper'
|
|
6
5
|
|
|
7
6
|
module Process
|
|
8
7
|
include Process::Constants
|
|
@@ -11,7 +10,7 @@ module Process
|
|
|
11
10
|
extend Process::Constants
|
|
12
11
|
|
|
13
12
|
# The version of the win32-process library.
|
|
14
|
-
WIN32_PROCESS_VERSION = '0.7.
|
|
13
|
+
WIN32_PROCESS_VERSION = '0.7.5'
|
|
15
14
|
|
|
16
15
|
# Disable popups. This mostly affects the Process.kill method.
|
|
17
16
|
SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX)
|
|
@@ -333,6 +332,9 @@ module Process
|
|
|
333
332
|
# Process.setrlimit(Process::RLIMIT_VMEM, 1024 * 4) # => nil
|
|
334
333
|
# Process.getrlimit(Process::RLIMIT_VMEM) # => [4096, 4096]
|
|
335
334
|
#
|
|
335
|
+
# WARNING: Exceeding the limit you set with this method could segfault
|
|
336
|
+
# the interpreter. Consider this method experimental.
|
|
337
|
+
#
|
|
336
338
|
def setrlimit(resource, current_limit, max_limit = nil)
|
|
337
339
|
max_limit = current_limit
|
|
338
340
|
|
|
@@ -348,8 +350,8 @@ module Process
|
|
|
348
350
|
handle = OpenJobObjectA(JOB_OBJECT_SET_ATTRIBUTES, true, @win32_process_job_name)
|
|
349
351
|
raise SystemCallError, FFI.errno, "OpenJobObject" if handle == 0
|
|
350
352
|
else
|
|
351
|
-
@
|
|
352
|
-
handle = CreateJobObjectA(nil,
|
|
353
|
+
@win32_process_job_name = 'ruby_' + Process.pid.to_s
|
|
354
|
+
handle = CreateJobObjectA(nil, @win32_process_job_name)
|
|
353
355
|
raise SystemCallError, FFI.errno, "CreateJobObject" if handle == 0
|
|
354
356
|
end
|
|
355
357
|
|
|
@@ -756,10 +758,12 @@ module Process
|
|
|
756
758
|
raise ArgumentError, "bad signal type #{signal.class}"
|
|
757
759
|
end
|
|
758
760
|
|
|
759
|
-
# Match the spec, making an exception for BRK/SIGBRK, if the signal name is invalid
|
|
761
|
+
# Match the spec, making an exception for BRK/SIGBRK, if the signal name is invalid.
|
|
762
|
+
# Older versions of JRuby did not include KILL, so we've made an explicit exception
|
|
763
|
+
# for that here, too.
|
|
760
764
|
if signal.is_a?(String) || signal.is_a?(Symbol)
|
|
761
765
|
signal = signal.to_s.sub('SIG', '')
|
|
762
|
-
unless Signal.list.keys.include?(signal) || ['
|
|
766
|
+
unless Signal.list.keys.include?(signal) || ['KILL', 'BRK'].include?(signal)
|
|
763
767
|
raise ArgumentError, "unsupported name '#{signal}'"
|
|
764
768
|
end
|
|
765
769
|
end
|
data/test/test_win32_process.rb
CHANGED
|
@@ -25,7 +25,7 @@ class TC_Win32Process < Test::Unit::TestCase
|
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
test "win32-process version is set to the correct value" do
|
|
28
|
-
assert_equal('0.7.
|
|
28
|
+
assert_equal('0.7.5', Process::WIN32_PROCESS_VERSION)
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
test "create basic functionality" do
|
|
@@ -74,6 +74,12 @@ class TC_Win32_Process_Kill < Test::Unit::TestCase
|
|
|
74
74
|
assert_raise(Errno::EINVAL){ Process.kill(9, 0) }
|
|
75
75
|
end
|
|
76
76
|
|
|
77
|
+
test "kill accepts BRK or SIGBRK as a signal name" do
|
|
78
|
+
pid = Process.spawn(@cmd)
|
|
79
|
+
assert_nothing_raised{ Process.kill(:BRK, pid) }
|
|
80
|
+
assert_nothing_raised{ Process.kill(:SIGBRK, pid) }
|
|
81
|
+
end
|
|
82
|
+
|
|
77
83
|
# We break from the spec here.
|
|
78
84
|
#test "an EINVAL error is raised if the pid is the current process and it's not a 0 or SIGKILL" do
|
|
79
85
|
# assert_raise(Errno::EINVAL){ Process.kill(1, Process.pid) }
|
data/win32-process.gemspec
CHANGED
|
@@ -2,7 +2,7 @@ require 'rubygems'
|
|
|
2
2
|
|
|
3
3
|
Gem::Specification.new do |spec|
|
|
4
4
|
spec.name = 'win32-process'
|
|
5
|
-
spec.version = '0.7.
|
|
5
|
+
spec.version = '0.7.5'
|
|
6
6
|
spec.license = 'Artistic 2.0'
|
|
7
7
|
spec.authors = ['Daniel Berger', 'Park Heesob']
|
|
8
8
|
spec.email = 'djberg96@gmail.com'
|
|
@@ -11,7 +11,6 @@ Gem::Specification.new do |spec|
|
|
|
11
11
|
spec.test_files = Dir['test/*.rb']
|
|
12
12
|
spec.files = Dir['**/*'].reject{ |f| f.include?('git') }
|
|
13
13
|
|
|
14
|
-
spec.rubyforge_project = 'win32utils'
|
|
15
14
|
spec.extra_rdoc_files = ['README', 'CHANGES', 'MANIFEST']
|
|
16
15
|
|
|
17
16
|
spec.required_ruby_version = '> 1.9.0'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: win32-process
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.7.
|
|
4
|
+
version: 0.7.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Daniel Berger
|
|
@@ -9,48 +9,48 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2015-03-03 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: ffi
|
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
|
17
17
|
requirements:
|
|
18
|
-
- -
|
|
18
|
+
- - ">="
|
|
19
19
|
- !ruby/object:Gem::Version
|
|
20
20
|
version: 1.0.0
|
|
21
21
|
type: :runtime
|
|
22
22
|
prerelease: false
|
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
|
24
24
|
requirements:
|
|
25
|
-
- -
|
|
25
|
+
- - ">="
|
|
26
26
|
- !ruby/object:Gem::Version
|
|
27
27
|
version: 1.0.0
|
|
28
28
|
- !ruby/object:Gem::Dependency
|
|
29
29
|
name: rake
|
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
|
31
31
|
requirements:
|
|
32
|
-
- -
|
|
32
|
+
- - ">="
|
|
33
33
|
- !ruby/object:Gem::Version
|
|
34
34
|
version: '0'
|
|
35
35
|
type: :development
|
|
36
36
|
prerelease: false
|
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
|
38
38
|
requirements:
|
|
39
|
-
- -
|
|
39
|
+
- - ">="
|
|
40
40
|
- !ruby/object:Gem::Version
|
|
41
41
|
version: '0'
|
|
42
42
|
- !ruby/object:Gem::Dependency
|
|
43
43
|
name: test-unit
|
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
|
45
45
|
requirements:
|
|
46
|
-
- -
|
|
46
|
+
- - ">="
|
|
47
47
|
- !ruby/object:Gem::Version
|
|
48
48
|
version: 2.4.0
|
|
49
49
|
type: :development
|
|
50
50
|
prerelease: false
|
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
|
52
52
|
requirements:
|
|
53
|
-
- -
|
|
53
|
+
- - ">="
|
|
54
54
|
- !ruby/object:Gem::Version
|
|
55
55
|
version: 2.4.0
|
|
56
56
|
description: |2
|
|
@@ -67,16 +67,16 @@ extra_rdoc_files:
|
|
|
67
67
|
- MANIFEST
|
|
68
68
|
files:
|
|
69
69
|
- CHANGES
|
|
70
|
+
- MANIFEST
|
|
71
|
+
- README
|
|
72
|
+
- Rakefile
|
|
70
73
|
- examples/example_create.rb
|
|
71
74
|
- examples/example_kill.rb
|
|
75
|
+
- lib/win32/process.rb
|
|
72
76
|
- lib/win32/process/constants.rb
|
|
73
77
|
- lib/win32/process/functions.rb
|
|
74
78
|
- lib/win32/process/helper.rb
|
|
75
79
|
- lib/win32/process/structs.rb
|
|
76
|
-
- lib/win32/process.rb
|
|
77
|
-
- MANIFEST
|
|
78
|
-
- Rakefile
|
|
79
|
-
- README
|
|
80
80
|
- test/test_win32_process.rb
|
|
81
81
|
- test/test_win32_process_kill.rb
|
|
82
82
|
- win32-process.gemspec
|
|
@@ -90,17 +90,17 @@ require_paths:
|
|
|
90
90
|
- lib
|
|
91
91
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
92
92
|
requirements:
|
|
93
|
-
- -
|
|
93
|
+
- - ">"
|
|
94
94
|
- !ruby/object:Gem::Version
|
|
95
95
|
version: 1.9.0
|
|
96
96
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
97
97
|
requirements:
|
|
98
|
-
- -
|
|
98
|
+
- - ">="
|
|
99
99
|
- !ruby/object:Gem::Version
|
|
100
100
|
version: '0'
|
|
101
101
|
requirements: []
|
|
102
|
-
rubyforge_project:
|
|
103
|
-
rubygems_version: 2.
|
|
102
|
+
rubyforge_project:
|
|
103
|
+
rubygems_version: 2.4.5
|
|
104
104
|
signing_key:
|
|
105
105
|
specification_version: 4
|
|
106
106
|
summary: Adds and redefines several Process methods for MS Windows
|