| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 import "dart:io"; | 5 import "dart:io"; |
| 6 import "dart:async"; | 6 import "dart:async"; |
| 7 | 7 |
| 8 void main(args) { | 8 void main(args) { |
| 9 var signal; | |
| 10 // This process should die if it never receives a signal. | 9 // This process should die if it never receives a signal. |
| 11 var timeout = new Timer(new Duration(seconds: 25), () => exit(1)); | 10 var timeout = new Timer(new Duration(seconds: 25), () => exit(1)); |
| 12 switch (args[0]) { | 11 for (var arg in args) { |
| 13 case 'SIGHUP': signal = ProcessSignal.SIGHUP; break; | 12 var signal; |
| 14 case 'SIGINT': signal = ProcessSignal.SIGINT; break; | 13 switch (arg) { |
| 15 case 'SIGTERM': signal = ProcessSignal.SIGTERM; break; | 14 case 'SIGHUP': signal = ProcessSignal.SIGHUP; break; |
| 16 case 'SIGUSR1': signal = ProcessSignal.SIGUSR1; break; | 15 case 'SIGINT': signal = ProcessSignal.SIGINT; break; |
| 17 case 'SIGUSR2': signal = ProcessSignal.SIGUSR2; break; | 16 case 'SIGTERM': signal = ProcessSignal.SIGTERM; break; |
| 18 case 'SIGWINCH': signal = ProcessSignal.SIGWINCH; break; | 17 case 'SIGUSR1': signal = ProcessSignal.SIGUSR1; break; |
| 18 case 'SIGUSR2': signal = ProcessSignal.SIGUSR2; break; |
| 19 case 'SIGWINCH': signal = ProcessSignal.SIGWINCH; break; |
| 20 } |
| 21 signal.watch().first.then((s) { |
| 22 if (signal != s) exit(1); |
| 23 if (signal.toString() != arg) exit(1); |
| 24 print(signal); |
| 25 exit(0); |
| 26 }); |
| 19 } | 27 } |
| 20 signal.watch().first.then((s) { | |
| 21 if (signal != s) exit(1); | |
| 22 if (signal.toString() != args[0]) exit(1); | |
| 23 print('got signal'); | |
| 24 timeout.cancel(); | |
| 25 }); | |
| 26 print("ready"); | 28 print("ready"); |
| 27 } | 29 } |
| OLD | NEW |