| Index: sdk/lib/io/process.dart
|
| diff --git a/sdk/lib/io/process.dart b/sdk/lib/io/process.dart
|
| index 3b340c3a8a0d308732cb0e2632cfdff50eb23c38..f9e2176db2968b3308ea3d0878251e4e31a31cb4 100644
|
| --- a/sdk/lib/io/process.dart
|
| +++ b/sdk/lib/io/process.dart
|
| @@ -90,6 +90,31 @@ int get pid => _ProcessUtils._pid(null);
|
| */
|
| abstract class Process {
|
| /**
|
| + * Returns a [:Future:] which completes with the exit code of the process
|
| + * when the process completes.
|
| + *
|
| + * The handling of exit codes is platform specific.
|
| + *
|
| + * On Linux and Mac a normal exit code will be a positive value in
|
| + * the range [0..255]. If the process was terminated due to a signal
|
| + * the exit code will be a negative value in the range [-255..0[,
|
| + * where the absolute value of the exit code is the signal
|
| + * number. For example, if a process crashes due to a segmentation
|
| + * violation the exit code will be -11, as the signal SIGSEGV has the
|
| + * number 11.
|
| + *
|
| + * On Windows a process can report any 32-bit value as an exit
|
| + * code. When returning the exit code this exit code is turned into
|
| + * a signed value. Some special values are used to report
|
| + * termination due to some system event. E.g. if a process crashes
|
| + * due to an access violation the 32-bit exit code is `0xc0000005`,
|
| + * which will be returned as the negative number `-1073741819`. To
|
| + * get the original 32-bit value use `(0x100000000 + exitCode) &
|
| + * 0xffffffff`.
|
| + */
|
| + Future<int> exitCode;
|
| +
|
| + /**
|
| * Starts a process running the [executable] with the specified
|
| * [arguments]. Returns a [:Future<Process>:] that completes with a
|
| * Process instance when the process has been successfully
|
| @@ -229,31 +254,6 @@ abstract class Process {
|
| int get pid;
|
|
|
| /**
|
| - * Returns a [:Future:] which completes with the exit code of the process
|
| - * when the process completes.
|
| - *
|
| - * The handling of exit codes is platform specific.
|
| - *
|
| - * On Linux and Mac a normal exit code will be a positive value in
|
| - * the range [0..255]. If the process was terminated due to a signal
|
| - * the exit code will be a negative value in the range [-255..0[,
|
| - * where the absolute value of the exit code is the signal
|
| - * number. For example, if a process crashes due to a segmentation
|
| - * violation the exit code will be -11, as the signal SIGSEGV has the
|
| - * number 11.
|
| - *
|
| - * On Windows a process can report any 32-bit value as an exit
|
| - * code. When returning the exit code this exit code is turned into
|
| - * a signed value. Some special values are used to report
|
| - * termination due to some system event. E.g. if a process crashes
|
| - * due to an access violation the 32-bit exit code is `0xc0000005`,
|
| - * which will be returned as the negative number `-1073741819`. To
|
| - * get the original 32-bit value use `(0x100000000 + exitCode) &
|
| - * 0xffffffff`.
|
| - */
|
| - Future<int> exitCode;
|
| -
|
| - /**
|
| * On Windows, [kill] kills the process, ignoring the [signal]
|
| * flag. On Posix systems, [kill] sends [signal] to the
|
| * process. Depending on the signal giving, it'll have different
|
| @@ -356,7 +356,7 @@ class SignalException implements IOException {
|
| final String message;
|
| final osError;
|
|
|
| - const SignalException(String this.message, [this.osError = null]);
|
| + const SignalException(this.message, [this.osError = null]);
|
|
|
| String toString() {
|
| var msg = "";
|
| @@ -369,16 +369,6 @@ class SignalException implements IOException {
|
|
|
|
|
| class ProcessException implements IOException {
|
| - const ProcessException(String this.executable,
|
| - List<String> this.arguments,
|
| - [String this.message = "",
|
| - int this.errorCode = 0]);
|
| - String toString() {
|
| - var msg = (message == null) ? 'OS error code: $errorCode' : message;
|
| - var args = arguments.join(' ');
|
| - return "ProcessException: $msg\n Command: $executable $args";
|
| - }
|
| -
|
| /**
|
| * Contains the executable provided for the process.
|
| */
|
| @@ -398,4 +388,12 @@ class ProcessException implements IOException {
|
| * Contains the OS error code for the process exception if any.
|
| */
|
| final int errorCode;
|
| +
|
| + const ProcessException(this.executable, this.arguments, [this.message = "",
|
| + this.errorCode = 0]);
|
| + String toString() {
|
| + var msg = (message == null) ? 'OS error code: $errorCode' : message;
|
| + var args = arguments.join(' ');
|
| + return "ProcessException: $msg\n Command: $executable $args";
|
| + }
|
| }
|
|
|