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:
authorDietmar Maurer <dietmar@mono-cvs.ximian.com>2002-08-16 16:59:28 +0400
committerDietmar Maurer <dietmar@mono-cvs.ximian.com>2002-08-16 16:59:28 +0400
commit62fe7b089ee4e81954652af4b5614f536d6e6f6a (patch)
tree3dd21c6f1216858333123e3e386ed438904ea547
parent8e26f9cfaa9527d367dc5e3718cc62c1bd481ce0 (diff)
2002-08-16 Dietmar Maurer <dietmar@ximian.com>
* appdomain.c (mono_runtime_invoke_in_domain): transfer Exception to the right domain. svn path=/trunk/mono/; revision=6674
-rw-r--r--mono/metadata/ChangeLog5
-rw-r--r--mono/metadata/appdomain.c10
2 files changed, 12 insertions, 3 deletions
diff --git a/mono/metadata/ChangeLog b/mono/metadata/ChangeLog
index 3c63f9d6aa0..9d7a77673fc 100644
--- a/mono/metadata/ChangeLog
+++ b/mono/metadata/ChangeLog
@@ -1,3 +1,8 @@
+2002-08-16 Dietmar Maurer <dietmar@ximian.com>
+
+ * appdomain.c (mono_runtime_invoke_in_domain): transfer Exception
+ to the right domain.
+
2002-08-14 Dietmar Maurer <dietmar@ximian.com>
* marshal.c (mono_marshal_get_runtime_invoke): unbox value types
diff --git a/mono/metadata/appdomain.c b/mono/metadata/appdomain.c
index ac590f04fa5..907f0e6abc8 100644
--- a/mono/metadata/appdomain.c
+++ b/mono/metadata/appdomain.c
@@ -112,10 +112,14 @@ mono_runtime_invoke_in_domain (MonoDomain *domain, MonoMethod *method, void *obj
res = mono_runtime_invoke (method, obj, params, real_exc);
mono_domain_set (cur);
- /* fixme: transfer Exception to the right domain */
+ if (*real_exc) {
+ /* transfer Exception to the right domain */
+ *real_exc = mono_domain_transfer_object (domain, cur, *real_exc);
- if (*real_exc && !exc)
- mono_raise_exception ((MonoException *)*real_exc);
+ if (!exc)
+ mono_raise_exception ((MonoException *)*real_exc);
+
+ }
return res;
}