// Token: 0x06001EF1 RID: 7921 RVA: 0x0008BFA0 File Offset: 0x0008A1A0 protected void SendReportWithoutDumpAndCrash(Exception ex, string key) { this.LimitReached = true; ReplayEventLogConstants.Tuple_ProcessDiagnosticsTerminatingServiceNoDump.LogEvent(null, new object[] { ex.Message, key }); if (!this.DisableCrash) { ExWatson.SendReport(ex, ReportOptions.ReportTerminateAfterSend | ReportOptions.DoNotCollectDumps, "No Watson dump being taken."); ExWatson.TerminateCurrentProcess(); } }
public override void Send() { if (base.IsFlagSet(ReportOptions.DoNotFreezeThreads) || base.IsFlagSet(ReportOptions.DoNotCollectDumps)) { base.Send(); return; } lock (WatsonReport.HeapDumpReportLockObject) { if (!ExWatson.ReaperThreadAllowed) { base.Send(); } else { Thread thread = null; try { ManualResetEvent reaperThreadIsRunning = new ManualResetEvent(false); thread = new Thread(delegate() { try { WatsonExceptionReport.nativeReaperThreadId = DiagnosticsNativeMethods.GetCurrentThreadId(); reaperThreadIsRunning.Set(); Thread.Sleep(ExWatson.CrashReportTimeout); ExWatson.TerminateCurrentProcess(); } catch { } }); thread.Start(); reaperThreadIsRunning.WaitOne(); base.Send(); } catch { } finally { if (thread != null) { thread.Abort(); WatsonExceptionReport.nativeReaperThreadId = -1; } } } } }