Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mono/tests/exiting/delegate-delegate-exit.cs')
-rwxr-xr-xmono/tests/exiting/delegate-delegate-exit.cs30
1 files changed, 30 insertions, 0 deletions
diff --git a/mono/tests/exiting/delegate-delegate-exit.cs b/mono/tests/exiting/delegate-delegate-exit.cs
new file mode 100755
index 00000000000..ad8864ba050
--- /dev/null
+++ b/mono/tests/exiting/delegate-delegate-exit.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Threading;
+using System.Runtime.InteropServices;
+
+class foo {
+ delegate void foo_delegate ();
+
+ static void function () {
+ Console.WriteLine ("Delegate method");
+ Environment.Exit(42);
+ }
+
+ static void async_callback (IAsyncResult ar)
+ {
+ Console.WriteLine ("Async callback " + ar.AsyncState);
+ }
+
+ public static void Main () {
+ foo_delegate d = new foo_delegate (function);
+ AsyncCallback ac = new AsyncCallback (async_callback);
+ IAsyncResult ar1 = d.BeginInvoke (ac, "foo");
+
+ ar1.AsyncWaitHandle.WaitOne();
+ Thread.Sleep(1000);
+ d.EndInvoke(ar1);
+
+ Thread.Sleep(1000);
+ Console.WriteLine("Main returns");
+ }
+}