/// <summary> /// Handles process exited event. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">Event data.</param> /// <exception cref="ArgumentNullException">e is null.</exception> protected virtual void OnProcessExited(object sender, ProcessExitEventArgs e) { if (e == null) { throw new ArgumentNullException("e", Resources.ArgumentNullException); } if (e.LogEvent) { _logger.Log(_formatter.Format(e)); } }
/// <summary> /// Formats message. /// </summary> /// <param name="processExitEventArgs">Message.</param> /// <returns>Formatted message.</returns> /// <exception cref="ArgumentNullException">processExitEventArgs is null.</exception> public string Format(ProcessExitEventArgs processExitEventArgs) { if (processExitEventArgs == null) { throw new ArgumentNullException("processExitEventArgs", Resources.ArgumentNullException); } return String.Format(CultureInfo.CurrentCulture, @Resources.MessageProcessExited, @DateTime.Now, @Resources.MessageTypeInfo, @processExitEventArgs.ProcessId, @processExitEventArgs.DaemonName, @processExitEventArgs.ExitCode); }
/// <summary> /// Handles process exited event. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">Event data.</param> protected override void OnProcessExited(object sender, ProcessExitEventArgs e) { base.OnProcessExited(sender, e); UpdateRunningProcesses(); }
/// <summary> /// Handles process exited event. Decreases process counts. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">Event data.</param> private void OnProcessExited(object sender, ProcessExitEventArgs e) { // Decrease external process counter. SetExternalProcessRunningOff(); // Run threaded event in main thread. _synchronizationContext.Send(new SendOrPostCallback(delegate { EventHandler<ProcessExitEventArgs> handler = ProcessExited; if (handler != null) { handler(this, e); } }), null); // Remove available process from the file watcher. RemoveAvailableProcess(e.DaemonName); // Decrease file watcher process count. RemoveProcessFromProcessBatchSize(e.DaemonName); SetProcessRunningOff(); }