public void AbortWaiters() { AbortAllThreads = true; using (_threadLocker.Lock()) { foreach (KeyValuePair <int, ManualResetEvent> manualResetEventItem in _dictionary) { manualResetEventItem.Value.Set(); } } }
private void SettingsFileChanged(object sender, FileSystemEventArgs e) { if (_saving) { return; } _settingsFileWatcher.EnableRaisingEvents = false; _jsonData = null; AppearanceSettings.Update(); using (ThreadLocker locker = ThreadLocker.Lock(Application.OpenForms)) { if (locker.IsLocked) { int i = 0; while (i < Application.OpenForms.Count) { if (Application.OpenForms[i] is BaseForm form) { MethodInvoker mi = new MethodInvoker(((BaseForm)form).UpdateAppearance); form.Invoke(mi); } i++; } } } _settingsFileWatcher.EnableRaisingEvents = true; }
public static void PushAction(StatusAction action) { using (ThreadLocker.Lock(_actions)) { if (_actions.Count == 0) { _startTime = DateTime.Now; } _actions.Push(action); } }