//Never spawn new threads changing module states in the handler! This will cause deadlocks. private void OnModuleStateChanged(IVBComponent component, ParserState state, ParserState oldState) { var handler = ModuleStateChanged; if (handler != null) { var args = new ParseProgressEventArgs(component, state, oldState); handler.Invoke(this, args); } }
//Never spawn new threads changing module states in the handler! This will cause deadlocks. private void OnModuleStateChanged(QualifiedModuleName module, ParserState state, ParserState oldState) { var handler = ModuleStateChanged; if (handler != null) { var args = new ParseProgressEventArgs(module, state, oldState); handler.Invoke(this, args); } }
//Never spawn new threads changing module states in the handler! This will cause deadlocks. private void OnModuleStateChanged(QualifiedModuleName module, ParserState state, ParserState oldState, CancellationToken token) { var handler = ModuleStateChanged; if (handler != null && !token.IsCancellationRequested) { var args = new ParseProgressEventArgs(module, state, oldState, token); handler.Invoke(this, args); } }