Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mcs / tests / test-async-24.cs
1 using System;
2 using System.Threading.Tasks;
3 using System.Threading;
4
5 struct Struct
6 {
7         object m_member;
8         public Struct (object member)
9         {
10                 m_member = member;
11         }
12
13         public async Task<bool> AsyncMethod ()
14         {
15                 bool b = (string)m_member == "1";
16                 await Task.Factory.StartNew (() => -3);
17                 b &= (string)m_member == "1";
18                 return b;
19         }
20 }
21
22 class C
23 {
24         public static int Main ()
25         {
26                 Struct s = new Struct ("1");
27                 var t = s.AsyncMethod ();
28                 if (!Task.WaitAll (new[] { t }, 2000))
29                         return 1;
30                 
31                 if (!t.Result)
32                         return 2;
33                 
34                 return 0;
35         }
36 }