| Index: sdk/lib/io/process.dart
|
| diff --git a/sdk/lib/io/process.dart b/sdk/lib/io/process.dart
|
| index 3c0f0fe392a3b74891afa4d2b6eb4fe680c3548e..3b340c3a8a0d308732cb0e2632cfdff50eb23c38 100644
|
| --- a/sdk/lib/io/process.dart
|
| +++ b/sdk/lib/io/process.dart
|
| @@ -11,6 +11,7 @@ class _ProcessUtils {
|
| external static void _setExitCode(int status);
|
| external static void _sleep(int millis);
|
| external static int _pid(Process process);
|
| + external static Stream<ProcessSignal> _watchSignal(ProcessSignal signal);
|
| }
|
|
|
| /**
|
| @@ -310,37 +311,60 @@ abstract class ProcessResult {
|
| * to a child process, see [:Process.kill:].
|
| */
|
| class ProcessSignal {
|
| - static const ProcessSignal SIGHUP = const ProcessSignal._signal(1);
|
| - static const ProcessSignal SIGINT = const ProcessSignal._signal(2);
|
| - static const ProcessSignal SIGQUIT = const ProcessSignal._signal(3);
|
| - static const ProcessSignal SIGILL = const ProcessSignal._signal(4);
|
| - static const ProcessSignal SIGTRAP = const ProcessSignal._signal(5);
|
| - static const ProcessSignal SIGABRT = const ProcessSignal._signal(6);
|
| - static const ProcessSignal SIGBUS = const ProcessSignal._signal(7);
|
| - static const ProcessSignal SIGFPE = const ProcessSignal._signal(8);
|
| - static const ProcessSignal SIGKILL = const ProcessSignal._signal(9);
|
| - static const ProcessSignal SIGUSR1 = const ProcessSignal._signal(10);
|
| - static const ProcessSignal SIGSEGV = const ProcessSignal._signal(11);
|
| - static const ProcessSignal SIGUSR2 = const ProcessSignal._signal(12);
|
| - static const ProcessSignal SIGPIPE = const ProcessSignal._signal(13);
|
| - static const ProcessSignal SIGALRM = const ProcessSignal._signal(14);
|
| - static const ProcessSignal SIGTERM = const ProcessSignal._signal(15);
|
| - static const ProcessSignal SIGCHLD = const ProcessSignal._signal(17);
|
| - static const ProcessSignal SIGCONT = const ProcessSignal._signal(18);
|
| - static const ProcessSignal SIGSTOP = const ProcessSignal._signal(19);
|
| - static const ProcessSignal SIGTSTP = const ProcessSignal._signal(20);
|
| - static const ProcessSignal SIGTTIN = const ProcessSignal._signal(21);
|
| - static const ProcessSignal SIGTTOU = const ProcessSignal._signal(22);
|
| - static const ProcessSignal SIGURG = const ProcessSignal._signal(23);
|
| - static const ProcessSignal SIGXCPU = const ProcessSignal._signal(24);
|
| - static const ProcessSignal SIGXFSZ = const ProcessSignal._signal(25);
|
| - static const ProcessSignal SIGVTALRM = const ProcessSignal._signal(26);
|
| - static const ProcessSignal SIGPROF = const ProcessSignal._signal(27);
|
| - static const ProcessSignal SIGPOLL = const ProcessSignal._signal(29);
|
| - static const ProcessSignal SIGSYS = const ProcessSignal._signal(31);
|
| -
|
| - const ProcessSignal._signal(int this._signalNumber);
|
| + static const ProcessSignal SIGHUP = const ProcessSignal._(1, "SIGHUP");
|
| + static const ProcessSignal SIGINT = const ProcessSignal._(2, "SIGINT");
|
| + static const ProcessSignal SIGQUIT = const ProcessSignal._(3, "SIGQUIT");
|
| + static const ProcessSignal SIGILL = const ProcessSignal._(4, "SIGILL");
|
| + static const ProcessSignal SIGTRAP = const ProcessSignal._(5, "SIGTRAP");
|
| + static const ProcessSignal SIGABRT = const ProcessSignal._(6, "SIGABRT");
|
| + static const ProcessSignal SIGBUS = const ProcessSignal._(7, "SIGBUS");
|
| + static const ProcessSignal SIGFPE = const ProcessSignal._(8, "SIGFPE");
|
| + static const ProcessSignal SIGKILL = const ProcessSignal._(9, "SIGKILL");
|
| + static const ProcessSignal SIGUSR1 = const ProcessSignal._(10, "SIGUSR1");
|
| + static const ProcessSignal SIGSEGV = const ProcessSignal._(11, "SIGSEGV");
|
| + static const ProcessSignal SIGUSR2 = const ProcessSignal._(12, "SIGUSR2");
|
| + static const ProcessSignal SIGPIPE = const ProcessSignal._(13, "SIGPIPE");
|
| + static const ProcessSignal SIGALRM = const ProcessSignal._(14, "SIGALRM");
|
| + static const ProcessSignal SIGTERM = const ProcessSignal._(15, "SIGTERM");
|
| + static const ProcessSignal SIGCHLD = const ProcessSignal._(17, "SIGCHLD");
|
| + static const ProcessSignal SIGCONT = const ProcessSignal._(18, "SIGCONT");
|
| + static const ProcessSignal SIGSTOP = const ProcessSignal._(19, "SIGSTOP");
|
| + static const ProcessSignal SIGTSTP = const ProcessSignal._(20, "SIGTSTP");
|
| + static const ProcessSignal SIGTTIN = const ProcessSignal._(21, "SIGTTIN");
|
| + static const ProcessSignal SIGTTOU = const ProcessSignal._(22, "SIGTTOU");
|
| + static const ProcessSignal SIGURG = const ProcessSignal._(23, "SIGURG");
|
| + static const ProcessSignal SIGXCPU = const ProcessSignal._(24, "SIGXCPU");
|
| + static const ProcessSignal SIGXFSZ = const ProcessSignal._(25, "SIGXFSZ");
|
| + static const ProcessSignal SIGVTALRM = const ProcessSignal._(26, "SIGVTALRM");
|
| + static const ProcessSignal SIGPROF = const ProcessSignal._(27, "SIGPROF");
|
| + static const ProcessSignal SIGWINCH = const ProcessSignal._(28, "SIGWINCH");
|
| + static const ProcessSignal SIGPOLL = const ProcessSignal._(29, "SIGPOLL");
|
| + static const ProcessSignal SIGSYS = const ProcessSignal._(31, "SIGSYS");
|
| +
|
| final int _signalNumber;
|
| + final String _name;
|
| +
|
| + const ProcessSignal._(this._signalNumber, this._name);
|
| +
|
| + String toString() => _name;
|
| +
|
| + Stream<ProcessSignal> watch() => _ProcessUtils._watchSignal(this);
|
| +}
|
| +
|
| +
|
| +class SignalException implements IOException {
|
| + final String message;
|
| + final osError;
|
| +
|
| + const SignalException(String this.message, [this.osError = null]);
|
| +
|
| + String toString() {
|
| + var msg = "";
|
| + if (osError != null) {
|
| + msg = ", osError: $osError";
|
| + }
|
| + return "SignalException: $message$msg";
|
| + }
|
| }
|
|
|
|
|
|
|