Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / tests / process-stress-1.cs
1
2 using System;
3 using System.Diagnostics;
4 using System.Threading;
5 using System.Threading.Tasks;
6
7 class Driver
8 {
9         static void Main ()
10         {
11                 for (int i = 0; i < 1000; ++i) {
12                         ProcessStartInfo psi = new ProcessStartInfo () {
13                                 FileName = "echo",
14                                 Arguments = "hello 1>/dev/null",
15                         };
16
17                         Process p = Process.Start (psi);
18
19                         ManualResetEvent mre = new ManualResetEvent (false);
20
21                         Task t = Task.Run (() => {
22                                 mre.Set ();
23                                 if (!p.WaitForExit (1000))
24                                         Environment.Exit (1);
25                         });
26
27                         if (!mre.WaitOne (1000))
28                                 Environment.Exit (2);
29                         if (!p.WaitForExit (1000))
30                                 Environment.Exit (3);
31
32                         if (!t.Wait (1000))
33                                 Environment.Exit (4);
34                 }
35         }
36 }