win32-process 0.7.0 → 0.7.1

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.
data/CHANGES CHANGED
@@ -1,221 +1,226 @@
1
- = 0.7.0 - 22-Aug-2012
2
- * Converted to use FFI instead of win32-api.
3
- * Now requires Ruby 1.9.x or later.
4
- * Removed the experimental Process.fork function. This obviated the necessity
5
- of custom implementations of other methods, like Process.waitpid, so those
6
- no longer have custom implementations either. These also proved to be
7
- somewhat problematic with Ruby 1.9.x anyway.
8
- * Removed the custom Process.ppid method because Ruby 1.9.x now supports it.
9
- * The Process.kill method now supports the :exit_proc, :dll_module and
10
- :wait_time options for signals 1 and 4-8.
11
-
12
- = 0.6.5 - 27-Dec-2010
13
- * Fixed getpriority and setpriority so that the underlying process handle is
14
- always closed. Thanks go to Rafal Michalski for the spot and patch.
15
- * Updated getpriority and setpriority so that there are no longer any
16
- default arguments. This now matches the MRI spec.
17
- * Updated Process.create so that illegal options now raise an ArgumentError
18
- instead of a Process::Error.
19
- * Fixed a bug in an error message in the Process.create method where the actual
20
- error message was getting lost.
21
- * Refactored the test suite to use test-unit 2.x features, and make tests a
22
- little more robust in general.
23
-
24
- = 0.6.4 - 13-Nov-2010
25
- * Altered the wait, wait2, waitpid and waitpid2 methods to match the current
26
- MRI interface, i.e. they accept and optional pid and flags, though the
27
- latter is ignored. Thanks go to Robert Wahler for the spot.
28
- * Renamed the example scripts to avoid any potential confusion with actual
29
- test scripts and cleaned them up a bit.
30
- * Added Rake tasks to run the example programs.
31
- * Updated the MANIFEST.
32
-
33
- = 0.6.3 - 9-Nov-2010
34
- * Fixed a bug in the Process.kill method where the remote thread created
35
- was not being properly closed. Thanks go to Ben Nagy for the spot.
36
- * Added the Process.job? method that returns whether or not the current process
37
- is already in a job.
38
- * Added the Process.setrlimit method. Like the Process.getrlimit method it
39
- only supports a limited subset of resources.
40
- * Rakefile tweaks.
41
-
42
- = 0.6.2 - 19-Dec-2009
43
- * Fixed an issue where stdin, stdout and stderr might not be inheritable
44
- even if the inherit option was set. Thanks go to Michael Buselli for the
45
- spot and the patch.
46
- * Added a basic implementation of Process.getrlimit.
47
- * Added the Process.get_affinity method.
48
- * Added test-unit 2.x and sys-proctable as development dependencies.
49
- * Added the :uninstall and :build_gem Rake tasks to the Rakefile.
50
- * Bumped required version of windows-pr to 1.0.6.
51
-
52
- = 0.6.1 - 16-Jul-2009
53
- * Added the Process.uid method. This method returns a user id (really, the RID
54
- of the SID) by default, but can also take an optional parameter to return
55
- a binary SID instead at the user's discretion.
56
- * Added working implementations of Process.getpriority and Process.setpriority.
57
- Note they they only work for processes, not process groups or users.
58
- * Set license to Artistic 2.0, and updated the gemspec.
59
-
60
- = 0.6.0 - 31-Oct-2008
61
- * The mandatory argument for Process.create has been switched from 'app_name'
62
- to 'command_line', to be more in line with underlying CreateProcess API.
63
- Note that 'command_line' will default to 'app_name' if only the latter is
64
- set, but both may be set individually. Keep in mind that 'app_name' must
65
- be a full path to the executable. Thanks go to Jeremy Bopp for the patch.
66
- * Removed the deprecated ProcessError constant. Use Process::Error instead.
67
- * Explicitly include and extend the Windows::Thread module now. Thanks go to
68
- Qi Lu for the spot.
69
- * Slightly more robust internal code handling for some of the other methods,
70
- typically related to ensuring that HANDLE's are closed.
71
- * Example programs are now included with the gem.
72
-
73
- = 0.5.9 - 14-Jun-2008
74
- * Added a proper implementation of Process.ppid.
75
-
76
- = 0.5.8 - 24-Mar-2008
77
- * Fixed a bug in Process.create where the handles in the PROCESS_INFORMATION
78
- struct were not closed, regardless of the 'close_handles' option. Thanks
79
- go to Lars Christensen for the spot and the patch.
80
-
81
- = 0.5.7 - 27-Mar-2008
82
- * Fixed issues with thread_inherit and process_inherit in the Process.create
83
- method. This in turn required an update to windows-pr. Thanks go to Steve
84
- Shreeve for the spot.
85
- * Fixed a potential issue with startf_flags and stdin/stdout/stderr handling.
86
- Thanks again go to Steve Shreeve for the spot and the patch.
87
- * Fixed the code so that it no longer emits redefinition warnings.
88
- * Fixed a bug in the Rake install task (for non-gem installations).
89
-
90
- == 0.5.6 - 13-Mar-2008
91
- * Fixed a bug in the Process.waitpid2 method where it wasn't returning the
92
- proper exit code. Thanks go to Jeremy Bopp for the spot and the patch.
93
- * In the spirit of DWIM, if the 'stdin', 'stdout' or 'stderr' keys are
94
- encountered in the startup_info hash, then the inherit flag is automatically
95
- set to true and the startf_flags key is automatically OR'd with the
96
- STARTF_USESTDHANDLES value. Thanks go to Sander Pool for the inspiration.
97
-
98
- == 0.5.5 - 12-Dec-2007
99
- * The Process.create method now automatically closes the process and thread
100
- handles in the ProcessInfo struct before returning, unless you explicitly
101
- tell it not to via the 'close_handles' option.
102
- * The Process.create method now supports creating a process as another user
103
- via the 'with_logon', 'password' and 'domain' options.
104
-
105
- == 0.5.4 - 23-Nov-2007
106
- * Changed ProcessError to Process::Error.
107
- * Now requires windows-pr 0.7.3 or later because of some reorganization in
108
- that library with regards to thread functions.
109
- * Better cleanup of HANDLE's in a couple methods when failure occurs.
110
- * Added an additional require/include necessitated by a change in the method
111
- organization in the windows-pr library.
112
-
113
- == 0.5.3 - 29-Jul-2007
114
- * Added a Rakefile with tasks for installation and testing.
115
- * Removed the install.rb file (now handled by the Rakefile).
116
- * Updated the README and MANIFEST files.
117
-
118
- == 0.5.2 - 22-Jan-2007
119
- * The startup_info parameter for the Process.create method now accepts
120
- 'stdin', 'stdout', and 'stderr' as valid parameters, which you can pass
121
- a Ruby IO object or a fileno in order to redirect output from the created
122
- process.
123
-
124
- == 0.5.1 - 24-Aug-2006
125
- * Fixed a bug in the Process.create method where the return value for
126
- CreateProcess() was being evaluated incorrectly. Thanks go to David Haney
127
- for the spot.
128
- * Added a slightly nicer error message if an invalid value is passed to the
129
- Process.create method.
130
- * Removed an extraneous '%' character from an error message.
131
-
132
- == 0.5.0 - 29-Jul-2006
133
- * The Process.create method now returns a ProcessInfo struct instead of the
134
- pid. Note that you can still grab the pid out of the struct if needed.
135
- * The Process.create method now allows the process_inherit and
136
- thread_inherit options which determine whether a process or thread
137
- object's handles are inheritable, respectively.
138
- * The wait and wait2 methods will now work if GetProcessId() isn't defined
139
- on your system.
140
- * The 'inherit?' hash option was changed to just 'inherit' (no question mark).
141
- * Minor doc correction - the 'inherit' option defaults to false, not true.
142
-
143
- == 0.4.2 - 29-May-2006
144
- * Fixed a typo/bug in Process.kill for signal 3, where I had accidentally
145
- used CTRL_BRK_EVENT instead of the correct CTRL_BREAK_EVENT. Thanks go
146
- to Luis Lavena for the spot.
147
-
148
- == 0.4.1 - 13-May-2006
149
- * Fixed a bug where spaces in $LOAD_PATH would cause Process.fork to fail.
150
- Thanks go to Justin Bailey for the spot and patch.
151
- * Added a short synopsis to the README file.
152
-
153
- == 0.4.0 - 7-May-2006
154
- * Now pure Ruby, courtesy of the Win32API package.
155
- * Now comes with a gem.
156
- * Modified Process.kill to send a signal to the current process if pid 0
157
- is specified, as per the current 1.8 behavior.
158
- * Process.create now accepts the 'environment' key/value, where you can
159
- pass a semicolon-separated string as the environment for the new process.
160
- * Moved the GUI related options of Process.create to subkeys of the
161
- 'startup_info' key. See documentation for details.
162
- * Replaced Win32::ProcessError with just ProcessError.
163
-
164
- == 0.3.3 - 16-Apr-2006
165
- * Fixed a bug in Process.create with regards to creation_flags. Thanks go
166
- to Tophe Vigny for the spot.
167
-
168
- == 0.3.2 - 12-Aug-2005
169
- * Fixed a bug in Process.kill where a segfault could occur. Thanks go to
170
- Bill Atkins for the spot.
171
- * Changed VERSION to WIN32_PROCESS_VERSION, because it's a module.
172
- * Made the CHANGES, README and doc/process.txt documents rdoc friendly.
173
- * Removed the process.rd file.
174
-
175
- == 0.3.1 - 9-Dec-2004
176
- * Modified Process.fork to return an actual PID instead of a handle. This
177
- means that it should work with Process.kill and other methods that expect
178
- an actual PID.
179
- * Modified Process.kill to understand the strings "SIGINT", "INT", "SIGBRK",
180
- "BRK", "SIGKILL" and "KILL". These correspond to signals 2, 3 and 9,
181
- respectively.
182
- * Added better $LOAD_PATH handling for Process.fork. Thanks go to Aslak
183
- Hellesoy for the spot and the patch.
184
- * Replaced all instances of rb_sys_fail(0) with rb_raise(). This is because
185
- of a strange bug in the Windows Installer that hasn't been nailed down yet.
186
- This means that you can't rescue Errno::ENOENT any more, but will have to
187
- rescue StandardError. This only affects Process.kill.
188
- * The signals that were formerly 1 and 2 and now 2 and 3. I did this because
189
- I wanted the same signal number for SIGINT as it is on *nix.
190
- * Added a test_kill.rb script under the examples directory.
191
- * Other minor cleanup and corrections.
192
-
193
- == 0.3.0 - 25-Jul-2004
194
- * Added the create() method.
195
- * Moved the example programs to doc/examples.
196
- * Updated the docs, and toned down claims of fork's similarity to the Unix
197
- version.
198
- * Minor updates to the test suite.
199
-
200
- == 0.2.1 - 17-May-2004
201
- * Made all methods module functions, except fork, rather than singleton
202
- methods.
203
- * Minor doc changes.
204
-
205
- == 0.2.0 - 11-May-2004
206
- * Removed the Win32 module/namespace. You no longer 'include Win32' and you
207
- no longer need to prefix Process with 'Win32::'.
208
- * The fork() method is now a global function as well as a method of the
209
- Process module. That means you can call 'fork' instead of 'Process.fork'
210
- if you like.
211
- * Doc updates to reflect the above changes.
212
-
213
- == 0.1.1 - 6-Mar-2004
214
- * Fixed bug where spaces in the directory name caused the fork() method to
215
- fail (Park).
216
- * Normalized tc_process.rb somewhat to make it easier to run outside of the
217
- test directory if desired.
218
- * Fixed up tc_process.rb a bit.
219
-
220
- == 0.1.0 - 19-Feb-2004
221
- * Initial release
1
+ = 0.7.1 - 3-Jan-2013
2
+ * The _get_errno function is apparently not exported on on Windows XP or
3
+ earlier. On those platforms, FFI.errno is now used instead. Thanks go
4
+ to Lars Christensen for the report.
5
+
6
+ = 0.7.0 - 22-Aug-2012
7
+ * Converted to use FFI instead of win32-api.
8
+ * Now requires Ruby 1.9.x or later.
9
+ * Removed the experimental Process.fork function. This obviated the necessity
10
+ of custom implementations of other methods, like Process.waitpid, so those
11
+ no longer have custom implementations either. These also proved to be
12
+ somewhat problematic with Ruby 1.9.x anyway.
13
+ * Removed the custom Process.ppid method because Ruby 1.9.x now supports it.
14
+ * The Process.kill method now supports the :exit_proc, :dll_module and
15
+ :wait_time options for signals 1 and 4-8.
16
+
17
+ = 0.6.5 - 27-Dec-2010
18
+ * Fixed getpriority and setpriority so that the underlying process handle is
19
+ always closed. Thanks go to Rafal Michalski for the spot and patch.
20
+ * Updated getpriority and setpriority so that there are no longer any
21
+ default arguments. This now matches the MRI spec.
22
+ * Updated Process.create so that illegal options now raise an ArgumentError
23
+ instead of a Process::Error.
24
+ * Fixed a bug in an error message in the Process.create method where the actual
25
+ error message was getting lost.
26
+ * Refactored the test suite to use test-unit 2.x features, and make tests a
27
+ little more robust in general.
28
+
29
+ = 0.6.4 - 13-Nov-2010
30
+ * Altered the wait, wait2, waitpid and waitpid2 methods to match the current
31
+ MRI interface, i.e. they accept and optional pid and flags, though the
32
+ latter is ignored. Thanks go to Robert Wahler for the spot.
33
+ * Renamed the example scripts to avoid any potential confusion with actual
34
+ test scripts and cleaned them up a bit.
35
+ * Added Rake tasks to run the example programs.
36
+ * Updated the MANIFEST.
37
+
38
+ = 0.6.3 - 9-Nov-2010
39
+ * Fixed a bug in the Process.kill method where the remote thread created
40
+ was not being properly closed. Thanks go to Ben Nagy for the spot.
41
+ * Added the Process.job? method that returns whether or not the current process
42
+ is already in a job.
43
+ * Added the Process.setrlimit method. Like the Process.getrlimit method it
44
+ only supports a limited subset of resources.
45
+ * Rakefile tweaks.
46
+
47
+ = 0.6.2 - 19-Dec-2009
48
+ * Fixed an issue where stdin, stdout and stderr might not be inheritable
49
+ even if the inherit option was set. Thanks go to Michael Buselli for the
50
+ spot and the patch.
51
+ * Added a basic implementation of Process.getrlimit.
52
+ * Added the Process.get_affinity method.
53
+ * Added test-unit 2.x and sys-proctable as development dependencies.
54
+ * Added the :uninstall and :build_gem Rake tasks to the Rakefile.
55
+ * Bumped required version of windows-pr to 1.0.6.
56
+
57
+ = 0.6.1 - 16-Jul-2009
58
+ * Added the Process.uid method. This method returns a user id (really, the RID
59
+ of the SID) by default, but can also take an optional parameter to return
60
+ a binary SID instead at the user's discretion.
61
+ * Added working implementations of Process.getpriority and Process.setpriority.
62
+ Note they they only work for processes, not process groups or users.
63
+ * Set license to Artistic 2.0, and updated the gemspec.
64
+
65
+ = 0.6.0 - 31-Oct-2008
66
+ * The mandatory argument for Process.create has been switched from 'app_name'
67
+ to 'command_line', to be more in line with underlying CreateProcess API.
68
+ Note that 'command_line' will default to 'app_name' if only the latter is
69
+ set, but both may be set individually. Keep in mind that 'app_name' must
70
+ be a full path to the executable. Thanks go to Jeremy Bopp for the patch.
71
+ * Removed the deprecated ProcessError constant. Use Process::Error instead.
72
+ * Explicitly include and extend the Windows::Thread module now. Thanks go to
73
+ Qi Lu for the spot.
74
+ * Slightly more robust internal code handling for some of the other methods,
75
+ typically related to ensuring that HANDLE's are closed.
76
+ * Example programs are now included with the gem.
77
+
78
+ = 0.5.9 - 14-Jun-2008
79
+ * Added a proper implementation of Process.ppid.
80
+
81
+ = 0.5.8 - 24-Mar-2008
82
+ * Fixed a bug in Process.create where the handles in the PROCESS_INFORMATION
83
+ struct were not closed, regardless of the 'close_handles' option. Thanks
84
+ go to Lars Christensen for the spot and the patch.
85
+
86
+ = 0.5.7 - 27-Mar-2008
87
+ * Fixed issues with thread_inherit and process_inherit in the Process.create
88
+ method. This in turn required an update to windows-pr. Thanks go to Steve
89
+ Shreeve for the spot.
90
+ * Fixed a potential issue with startf_flags and stdin/stdout/stderr handling.
91
+ Thanks again go to Steve Shreeve for the spot and the patch.
92
+ * Fixed the code so that it no longer emits redefinition warnings.
93
+ * Fixed a bug in the Rake install task (for non-gem installations).
94
+
95
+ == 0.5.6 - 13-Mar-2008
96
+ * Fixed a bug in the Process.waitpid2 method where it wasn't returning the
97
+ proper exit code. Thanks go to Jeremy Bopp for the spot and the patch.
98
+ * In the spirit of DWIM, if the 'stdin', 'stdout' or 'stderr' keys are
99
+ encountered in the startup_info hash, then the inherit flag is automatically
100
+ set to true and the startf_flags key is automatically OR'd with the
101
+ STARTF_USESTDHANDLES value. Thanks go to Sander Pool for the inspiration.
102
+
103
+ == 0.5.5 - 12-Dec-2007
104
+ * The Process.create method now automatically closes the process and thread
105
+ handles in the ProcessInfo struct before returning, unless you explicitly
106
+ tell it not to via the 'close_handles' option.
107
+ * The Process.create method now supports creating a process as another user
108
+ via the 'with_logon', 'password' and 'domain' options.
109
+
110
+ == 0.5.4 - 23-Nov-2007
111
+ * Changed ProcessError to Process::Error.
112
+ * Now requires windows-pr 0.7.3 or later because of some reorganization in
113
+ that library with regards to thread functions.
114
+ * Better cleanup of HANDLE's in a couple methods when failure occurs.
115
+ * Added an additional require/include necessitated by a change in the method
116
+ organization in the windows-pr library.
117
+
118
+ == 0.5.3 - 29-Jul-2007
119
+ * Added a Rakefile with tasks for installation and testing.
120
+ * Removed the install.rb file (now handled by the Rakefile).
121
+ * Updated the README and MANIFEST files.
122
+
123
+ == 0.5.2 - 22-Jan-2007
124
+ * The startup_info parameter for the Process.create method now accepts
125
+ 'stdin', 'stdout', and 'stderr' as valid parameters, which you can pass
126
+ a Ruby IO object or a fileno in order to redirect output from the created
127
+ process.
128
+
129
+ == 0.5.1 - 24-Aug-2006
130
+ * Fixed a bug in the Process.create method where the return value for
131
+ CreateProcess() was being evaluated incorrectly. Thanks go to David Haney
132
+ for the spot.
133
+ * Added a slightly nicer error message if an invalid value is passed to the
134
+ Process.create method.
135
+ * Removed an extraneous '%' character from an error message.
136
+
137
+ == 0.5.0 - 29-Jul-2006
138
+ * The Process.create method now returns a ProcessInfo struct instead of the
139
+ pid. Note that you can still grab the pid out of the struct if needed.
140
+ * The Process.create method now allows the process_inherit and
141
+ thread_inherit options which determine whether a process or thread
142
+ object's handles are inheritable, respectively.
143
+ * The wait and wait2 methods will now work if GetProcessId() isn't defined
144
+ on your system.
145
+ * The 'inherit?' hash option was changed to just 'inherit' (no question mark).
146
+ * Minor doc correction - the 'inherit' option defaults to false, not true.
147
+
148
+ == 0.4.2 - 29-May-2006
149
+ * Fixed a typo/bug in Process.kill for signal 3, where I had accidentally
150
+ used CTRL_BRK_EVENT instead of the correct CTRL_BREAK_EVENT. Thanks go
151
+ to Luis Lavena for the spot.
152
+
153
+ == 0.4.1 - 13-May-2006
154
+ * Fixed a bug where spaces in $LOAD_PATH would cause Process.fork to fail.
155
+ Thanks go to Justin Bailey for the spot and patch.
156
+ * Added a short synopsis to the README file.
157
+
158
+ == 0.4.0 - 7-May-2006
159
+ * Now pure Ruby, courtesy of the Win32API package.
160
+ * Now comes with a gem.
161
+ * Modified Process.kill to send a signal to the current process if pid 0
162
+ is specified, as per the current 1.8 behavior.
163
+ * Process.create now accepts the 'environment' key/value, where you can
164
+ pass a semicolon-separated string as the environment for the new process.
165
+ * Moved the GUI related options of Process.create to subkeys of the
166
+ 'startup_info' key. See documentation for details.
167
+ * Replaced Win32::ProcessError with just ProcessError.
168
+
169
+ == 0.3.3 - 16-Apr-2006
170
+ * Fixed a bug in Process.create with regards to creation_flags. Thanks go
171
+ to Tophe Vigny for the spot.
172
+
173
+ == 0.3.2 - 12-Aug-2005
174
+ * Fixed a bug in Process.kill where a segfault could occur. Thanks go to
175
+ Bill Atkins for the spot.
176
+ * Changed VERSION to WIN32_PROCESS_VERSION, because it's a module.
177
+ * Made the CHANGES, README and doc/process.txt documents rdoc friendly.
178
+ * Removed the process.rd file.
179
+
180
+ == 0.3.1 - 9-Dec-2004
181
+ * Modified Process.fork to return an actual PID instead of a handle. This
182
+ means that it should work with Process.kill and other methods that expect
183
+ an actual PID.
184
+ * Modified Process.kill to understand the strings "SIGINT", "INT", "SIGBRK",
185
+ "BRK", "SIGKILL" and "KILL". These correspond to signals 2, 3 and 9,
186
+ respectively.
187
+ * Added better $LOAD_PATH handling for Process.fork. Thanks go to Aslak
188
+ Hellesoy for the spot and the patch.
189
+ * Replaced all instances of rb_sys_fail(0) with rb_raise(). This is because
190
+ of a strange bug in the Windows Installer that hasn't been nailed down yet.
191
+ This means that you can't rescue Errno::ENOENT any more, but will have to
192
+ rescue StandardError. This only affects Process.kill.
193
+ * The signals that were formerly 1 and 2 and now 2 and 3. I did this because
194
+ I wanted the same signal number for SIGINT as it is on *nix.
195
+ * Added a test_kill.rb script under the examples directory.
196
+ * Other minor cleanup and corrections.
197
+
198
+ == 0.3.0 - 25-Jul-2004
199
+ * Added the create() method.
200
+ * Moved the example programs to doc/examples.
201
+ * Updated the docs, and toned down claims of fork's similarity to the Unix
202
+ version.
203
+ * Minor updates to the test suite.
204
+
205
+ == 0.2.1 - 17-May-2004
206
+ * Made all methods module functions, except fork, rather than singleton
207
+ methods.
208
+ * Minor doc changes.
209
+
210
+ == 0.2.0 - 11-May-2004
211
+ * Removed the Win32 module/namespace. You no longer 'include Win32' and you
212
+ no longer need to prefix Process with 'Win32::'.
213
+ * The fork() method is now a global function as well as a method of the
214
+ Process module. That means you can call 'fork' instead of 'Process.fork'
215
+ if you like.
216
+ * Doc updates to reflect the above changes.
217
+
218
+ == 0.1.1 - 6-Mar-2004
219
+ * Fixed bug where spaces in the directory name caused the fork() method to
220
+ fail (Park).
221
+ * Normalized tc_process.rb somewhat to make it easier to run outside of the
222
+ test directory if desired.
223
+ * Fixed up tc_process.rb a bit.
224
+
225
+ == 0.1.0 - 19-Feb-2004
226
+ * Initial release
data/MANIFEST CHANGED
@@ -1,9 +1,9 @@
1
- * CHANGES
2
- * README
3
- * MANIFEST
4
- * Rakefile
5
- * win32-process.gemspec
6
- * examples/example_create.rb
7
- * examples/example_kill.rb
8
- * lib/win32/process.rb
9
- * test/test_process.rb
1
+ * CHANGES
2
+ * README
3
+ * MANIFEST
4
+ * Rakefile
5
+ * win32-process.gemspec
6
+ * examples/example_create.rb
7
+ * examples/example_kill.rb
8
+ * lib/win32/process.rb
9
+ * test/test_process.rb