[corlib] Cluster all tests that require large file support under the LargeFileSupport...
[mono.git] / mcs / class / corlib / System.Runtime.Remoting / RemotingServices.cs
index d2b99281c3b4143b74566ab73fb8965b321b516f..815c1ba7e73727e93d0d58ca15d81976c08fe14d 100644 (file)
@@ -808,45 +808,15 @@ namespace System.Runtime.Remoting
                [SecurityPermission (SecurityAction.Assert, SerializationFormatter = true)] // FIXME: to be reviewed
                internal static byte[] SerializeExceptionData (Exception ex)
                {
+                       byte[] result = null;
                        try {
-                               int retry = 4;
-                               
-                               do {
-                                       try {
-                                               MemoryStream ms = new MemoryStream ();
-                                               _serializationFormatter.Serialize (ms, ex);
-                                               return ms.ToArray ();
-                                       }
-                                       catch (Exception e) {
-                                               if (e is ThreadAbortException) {
-#if MONO_FEATURE_THREAD_ABORT
-                                                       Thread.ResetAbort ();
-#endif
-                                                       retry = 5;
-                                                       ex = e;
-                                               }
-                                               else if (retry == 2) {
-                                                       ex = new Exception ();
-                                                       ex.SetMessage (e.Message);
-                                                       ex.SetStackTrace (e.StackTrace);
-                                               }
-                                               else
-                                                       ex = e;
-                                       }
-                                       retry--;
-                               }
-                               while (retry > 0);
-                               
-                               return null;
-                       }
-                       catch (Exception tex)
-                       {
-                               byte[] data = SerializeExceptionData (tex);
-#if MONO_FEATURE_THREAD_ABORT
-                               Thread.ResetAbort ();
-#endif
-                               return data;
+                               /* empty - we're only interested in the protected block */
+                       } finally {
+                               MemoryStream ms = new MemoryStream ();
+                               _serializationFormatter.Serialize (ms, ex);
+                               result = ms.ToArray ();
                        }
+                       return result;
                }
                
                internal static object GetDomainProxy(AppDomain domain)