Example #1
0
        private void Close()
        {
            if (this.notifySink != null && connection != null)
            {
                lock (InternalSyncObject) {
                    if (this.notifySink != null && connection != null)
                    {
                        TraceMethod method = Tracing.On ? new TraceMethod(this, "Close") : null;
                        if (Tracing.On)
                        {
                            Tracing.Enter("RemoteDebugger", method);
                        }

                        try {
                            UnsafeNativeMethods.UnregisterNotifySource(connection, this);
                        }
                        catch (Exception e) {
                            if (e is ThreadAbortException || e is StackOverflowException || e is OutOfMemoryException)
                            {
                                throw;
                            }
                            if (Tracing.On)
                            {
                                Tracing.ExceptionCatch(TraceEventType.Warning, method, e);
                            }
                        }
                        if (Tracing.On)
                        {
                            Tracing.Exit("RemoteDebugger", method);
                        }
                        this.notifySink = null;
                    }
                }
            }
        }
 internal void Close()
 {
     if (this.notifySink != null && connection != null)
     {
         lock (typeof(RemoteDebugger)) {
             if (this.notifySink != null && connection != null)
             {
                 try {
                     UnsafeNativeMethods.UnregisterNotifySource(connection, this);
                 }
                 catch (Exception) {
                 }
                 this.notifySink = null;
             }
         }
     }
 }
Example #3
0
 private void Close()
 {
     if ((this.notifySink != null) && (connection != null))
     {
         lock (InternalSyncObject)
         {
             if ((this.notifySink != null) && (connection != null))
             {
                 TraceMethod caller = Tracing.On ? new TraceMethod(this, "Close", new object[0]) : null;
                 if (Tracing.On)
                 {
                     Tracing.Enter("RemoteDebugger", caller);
                 }
                 try
                 {
                     System.Web.Services.UnsafeNativeMethods.UnregisterNotifySource(connection, this);
                 }
                 catch (Exception exception)
                 {
                     if (((exception is ThreadAbortException) || (exception is StackOverflowException)) || (exception is OutOfMemoryException))
                     {
                         throw;
                     }
                     if (Tracing.On)
                     {
                         Tracing.ExceptionCatch(TraceEventType.Warning, caller, exception);
                     }
                 }
                 if (Tracing.On)
                 {
                     Tracing.Exit("RemoteDebugger", caller);
                 }
                 this.notifySink = null;
             }
         }
     }
 }
 private void Close()
 {
     if ((this.notifySink != null) && (connection != null))
     {
         lock (InternalSyncObject)
         {
             if ((this.notifySink != null) && (connection != null))
             {
                 TraceMethod caller = Tracing.On ? new TraceMethod(this, "Close", new object[0]) : null;
                 if (Tracing.On)
                 {
                     Tracing.Enter("RemoteDebugger", caller);
                 }
                 try
                 {
                     System.Web.Services.UnsafeNativeMethods.UnregisterNotifySource(connection, this);
                 }
                 catch (Exception exception)
                 {
                     if (((exception is ThreadAbortException) || (exception is StackOverflowException)) || (exception is OutOfMemoryException))
                     {
                         throw;
                     }
                     if (Tracing.On)
                     {
                         Tracing.ExceptionCatch(TraceEventType.Warning, caller, exception);
                     }
                 }
                 if (Tracing.On)
                 {
                     Tracing.Exit("RemoteDebugger", caller);
                 }
                 this.notifySink = null;
             }
         }
     }
 }
 internal static void OnSyncCallExit(INotifySink2 sink, CallId callId, out IntPtr out_ppBuffer, ref int inout_pBufferSize)
 {
     sink.OnSyncCallExit(callId, out out_ppBuffer, ref inout_pBufferSize);
 }
 internal static void OnSyncCallReturn(INotifySink2 sink, CallId callId, byte[] in_pBuffer, int in_BufferSize)
 {
     sink.OnSyncCallReturn(callId, in_pBuffer, in_BufferSize);
 }
        private void Close() {
            if (this.notifySink != null && connection != null) {
                lock (InternalSyncObject) {
                    if (this.notifySink != null && connection != null) {
                        TraceMethod method = Tracing.On ? new TraceMethod(this, "Close") : null;
                        if (Tracing.On) Tracing.Enter("RemoteDebugger", method);

                        try {
                            UnsafeNativeMethods.UnregisterNotifySource(connection, this);
                        }
                        catch (Exception e) {
                            if (e is ThreadAbortException || e is StackOverflowException || e is OutOfMemoryException) {
                                throw;
                            }
                            if (Tracing.On) Tracing.ExceptionCatch(TraceEventType.Warning, method, e);
                        }
                        if (Tracing.On) Tracing.Exit("RemoteDebugger", method);
                        this.notifySink = null;
                    }
                }
            }
        }
 internal static void OnSyncCallExit(INotifySink2 sink, CallId callId, out IntPtr out_ppBuffer, ref int inout_pBufferSize) {
     sink.OnSyncCallExit(callId, out out_ppBuffer, ref inout_pBufferSize);
 }
 internal static void OnSyncCallReturn(INotifySink2 sink, CallId callId, byte[] in_pBuffer, int in_BufferSize) {
     sink.OnSyncCallReturn(callId, in_pBuffer, in_BufferSize);
 }