OLD | NEW |
| (Empty) |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | |
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. | |
4 | |
5 import "dart:io"; | |
6 | |
7 void main(args) { | |
8 int usr1Count = int.parse(args[0]); | |
9 int usr2Count = int.parse(args[1]); | |
10 var sub1; | |
11 var sub2; | |
12 void check() { | |
13 if (usr1Count < 0 || usr2Count < 0) exit(1); | |
14 if (usr1Count == 0 && usr2Count == 0) { | |
15 sub1.cancel(); | |
16 sub2.cancel(); | |
17 } | |
18 print("ready"); | |
19 } | |
20 sub1 = ProcessSignal.SIGUSR1.watch().listen((signal) { | |
21 if (signal != ProcessSignal.SIGUSR1) exit(1); | |
22 usr1Count--; | |
23 check(); | |
24 }); | |
25 sub2 = ProcessSignal.SIGUSR2.watch().listen((signal) { | |
26 if (signal != ProcessSignal.SIGUSR2) exit(1); | |
27 usr2Count--; | |
28 check(); | |
29 }); | |
30 check(); | |
31 } | |
OLD | NEW |