win32-process 0.7.3 → 0.7.4

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
  SHA1:
3
- metadata.gz: e0138b3ba0eb622e919ee797b05bc0bf1b9dde8a
4
- data.tar.gz: 0b28f44134b777c69431fb5796cc03a858e238c4
3
+ metadata.gz: 39dc3aa30a05db65cfb45dff067edea0f839f5b5
4
+ data.tar.gz: a13b9e2d70c63c9b532d87fe385386308e11301d
5
5
  SHA512:
6
- metadata.gz: f4ac784c2191c95a4e077bb81483fbd2f6b111d5f886fcb171c0d42d9043d3692b792316c188e0b07f0591fbb6de3e83001205de89ffc129db3bec529de29b92
7
- data.tar.gz: 59320063393d1049c1838692ea51846a4a708d6b8c78b1c9079df7d8502a4f38455e614aceb8781d363c500897efb03f76a19307121bb97a9a681f1f70b1fb98
6
+ metadata.gz: 0ad9884c726af4c9efbdc2f32cb36540fdeb17355a69a155853720f66025d9b5b8e35263bb14c6da012003daa835813a0b3680e5854088124ff2140916401aec
7
+ data.tar.gz: 6a30f65e1f17d01c59b09d602eb44783f7e959dda498f1630f877901d79ab4af48f073ce7578eb01a91e20c2d14c95c13757966444bf692133f5bc3db8fc48f3
data/CHANGES CHANGED
@@ -1,3 +1,7 @@
1
+ = 0.7.4 - 21-Oct-2013
2
+ * Fixed the INVALID_HANDLE_VALUE constant for 64-bit versions of Ruby.
3
+ * Added Rake as a development dependency.
4
+
1
5
  = 0.7.3 - 25-Sep-2013
2
6
  * Added the Process.get_exitcode method. Thanks go to mthiede for the patch.
3
7
  * The Process.kill method raises a SecurityError if the $SAFE level is 2
data/MANIFEST CHANGED
@@ -6,4 +6,8 @@
6
6
  * examples/example_create.rb
7
7
  * examples/example_kill.rb
8
8
  * lib/win32/process.rb
9
+ * lib/win32/process/constants.rb
10
+ * lib/win32/process/functions.rb
11
+ * lib/win32/process/helper.rb
12
+ * lib/win32/process/structs.rb
9
13
  * test/test_process.rb
@@ -1,35 +1,35 @@
1
- ##########################################################################
2
- # example_create.rb
3
- #
4
- # Simple test program for the Process.create() method. You can run this
5
- # code via the 'example:create' task.
6
- ##########################################################################
7
- require "win32/process"
8
-
9
- p Process::WIN32_PROCESS_VERSION
10
-
11
- struct = Process.create(
12
- :app_name => "notepad.exe",
13
- :creation_flags => Process::DETACHED_PROCESS,
14
- :process_inherit => false,
15
- :thread_inherit => true,
16
- :cwd => "C:\\",
17
- :inherit => true,
18
- :environment => "SYSTEMROOT=#{ENV['SYSTEMROOT']};PATH=C:\\"
19
- )
20
-
21
- p struct
22
-
23
- =begin
24
- # Don't run this from an existing terminal
25
- pid = Process.create(
26
- :app_name => "cmd.exe",
27
- :creation_flags => Process::DETACHED_PROCESS,
28
- :startf_flags => Process::USEPOSITION,
29
- :x => 0,
30
- :y => 0,
31
- :title => "Hi Dan"
32
- )
33
-
34
- puts "Pid of new process: #{pid}"
35
- =end
1
+ ##########################################################################
2
+ # example_create.rb
3
+ #
4
+ # Simple test program for the Process.create() method. You can run this
5
+ # code via the 'example:create' task.
6
+ ##########################################################################
7
+ require "win32/process"
8
+
9
+ p Process::WIN32_PROCESS_VERSION
10
+
11
+ struct = Process.create(
12
+ :app_name => "notepad.exe",
13
+ :creation_flags => Process::DETACHED_PROCESS,
14
+ :process_inherit => false,
15
+ :thread_inherit => true,
16
+ :cwd => "C:\\",
17
+ :inherit => true,
18
+ :environment => "SYSTEMROOT=#{ENV['SYSTEMROOT']};PATH=C:\\"
19
+ )
20
+
21
+ p struct
22
+
23
+ =begin
24
+ # Don't run this from an existing terminal
25
+ pid = Process.create(
26
+ :app_name => "cmd.exe",
27
+ :creation_flags => Process::DETACHED_PROCESS,
28
+ :startf_flags => Process::USEPOSITION,
29
+ :x => 0,
30
+ :y => 0,
31
+ :title => "Hi Dan"
32
+ )
33
+
34
+ puts "Pid of new process: #{pid}"
35
+ =end
@@ -1,34 +1,34 @@
1
- ##########################################################################
2
- # example_kill.rb
3
- #
4
- # Generic test script for futzing around Process.kill. This script
5
- # requires the sys-proctable library.
6
- #
7
- # You can run this example via the 'example:kill' task.
8
- ##########################################################################
9
- require "win32/process"
10
-
11
- begin
12
- require "sys/proctable"
13
- rescue LoadError
14
- STDERR.puts "Whoa there!"
15
- STDERR.puts "This script requires the sys-proctable package to work."
16
- STDERR.puts "You can find it at http://ruby-sysutils.sf.net"
17
- STDERR.puts "Exiting..."
18
- exit
19
- end
20
-
21
- include Sys
22
-
23
- puts "VERSION: " + Process::WIN32_PROCESS_VERSION
24
-
25
- IO.popen("notepad")
26
- sleep 1 # Give it a chance to start before checking for its pid
27
-
28
- pids = []
29
-
30
- ProcTable.ps{ |s|
31
- pids.push(s.pid) if s.cmdline =~ /notepad/i
32
- }
33
-
34
- p Process.kill(9,pids.last)
1
+ ##########################################################################
2
+ # example_kill.rb
3
+ #
4
+ # Generic test script for futzing around Process.kill. This script
5
+ # requires the sys-proctable library.
6
+ #
7
+ # You can run this example via the 'example:kill' task.
8
+ ##########################################################################
9
+ require "win32/process"
10
+
11
+ begin
12
+ require "sys/proctable"
13
+ rescue LoadError
14
+ STDERR.puts "Whoa there!"
15
+ STDERR.puts "This script requires the sys-proctable package to work."
16
+ STDERR.puts "You can find it at http://ruby-sysutils.sf.net"
17
+ STDERR.puts "Exiting..."
18
+ exit
19
+ end
20
+
21
+ include Sys
22
+
23
+ puts "VERSION: " + Process::WIN32_PROCESS_VERSION
24
+
25
+ IO.popen("notepad")
26
+ sleep 1 # Give it a chance to start before checking for its pid
27
+
28
+ pids = []
29
+
30
+ ProcTable.ps{ |s|
31
+ pids.push(s.pid) if s.cmdline =~ /notepad/i
32
+ }
33
+
34
+ p Process.kill(9,pids.last)
@@ -11,7 +11,7 @@ module Process
11
11
  extend Process::Constants
12
12
 
13
13
  # The version of the win32-process library.
14
- WIN32_PROCESS_VERSION = '0.7.3'
14
+ WIN32_PROCESS_VERSION = '0.7.4'
15
15
 
16
16
  # Disable popups. This mostly affects the Process.kill method.
17
17
  SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX)
@@ -1,4 +1,8 @@
1
+ require 'ffi'
2
+
1
3
  module Process::Constants
4
+ include FFI::Library
5
+
2
6
  private
3
7
 
4
8
  # Priority constants
@@ -12,7 +16,7 @@ module Process::Constants
12
16
 
13
17
  # Error constants
14
18
 
15
- INVALID_HANDLE_VALUE = 0xffffffff
19
+ INVALID_HANDLE_VALUE = FFI::Pointer.new(-1).address
16
20
  ERROR_ACCESS_DENIED = 0x00000005
17
21
 
18
22
  # Process Access Rights
@@ -106,5 +110,4 @@ module Process::Constants
106
110
  # GetExitCodeProcess
107
111
 
108
112
  STILL_ACTIVE = 259
109
-
110
113
  end
@@ -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.3', Process::WIN32_PROCESS_VERSION)
28
+ assert_equal('0.7.4', Process::WIN32_PROCESS_VERSION)
29
29
  end
30
30
 
31
31
  test "create basic functionality" do
@@ -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.3'
5
+ spec.version = '0.7.4'
6
6
  spec.license = 'Artistic 2.0'
7
7
  spec.authors = ['Daniel Berger', 'Park Heesob']
8
8
  spec.email = 'djberg96@gmail.com'
@@ -16,6 +16,8 @@ Gem::Specification.new do |spec|
16
16
 
17
17
  spec.required_ruby_version = '> 1.9.0'
18
18
  spec.add_dependency('ffi', '>= 1.0.0')
19
+
20
+ spec.add_development_dependency('rake')
19
21
  spec.add_development_dependency('test-unit', '>= 2.4.0')
20
22
 
21
23
  spec.description = <<-EOF
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.3
4
+ version: 0.7.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Berger
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-09-25 00:00:00.000000000 Z
12
+ date: 2013-10-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ffi
@@ -25,6 +25,20 @@ dependencies:
25
25
  - - '>='
26
26
  - !ruby/object:Gem::Version
27
27
  version: 1.0.0
28
+ - !ruby/object:Gem::Dependency
29
+ name: rake
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - '>='
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
28
42
  - !ruby/object:Gem::Dependency
29
43
  name: test-unit
30
44
  requirement: !ruby/object:Gem::Requirement
@@ -86,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
86
100
  version: '0'
87
101
  requirements: []
88
102
  rubyforge_project: win32utils
89
- rubygems_version: 2.0.3
103
+ rubygems_version: 2.1.9
90
104
  signing_key:
91
105
  specification_version: 4
92
106
  summary: Adds and redefines several Process methods for MS Windows