Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(127)

Side by Side Diff: tests/standalone/io/signal_test_script.dart

Issue 285023002: Fix listening for multiple signals. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/bin/process_win.cc ('k') | tests/standalone/io/signals_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 }
OLDNEW
« no previous file with comments | « runtime/bin/process_win.cc ('k') | tests/standalone/io/signals_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698