aboutsummaryrefslogtreecommitdiffstats
path: root/capture_opts.h
diff options
context:
space:
mode:
authorTomasz Moń <desowin@gmail.com>2022-08-13 05:58:50 +0200
committerTomasz Moń <desowin@gmail.com>2022-08-13 20:23:51 +0200
commitd0a9de2af1882f0ff23a43baa051da35d7fed512 (patch)
treedf1d17c56309f24649ddb5b140829adee49110d4 /capture_opts.h
parent8291dc23f3d2591f8b22e342ff061d65d50032b0 (diff)
capture: Stop extcaps before dumpcap
Send SIGTERM on UNIX systems to all extcap processes when user requests capture stop. Wait up to 30 seconds for extcaps to finish. If extcaps do not finish in time, send SIGKILL to remaining extcaps. Do not call TerminateProcess() on Windows in the same place where UNIX SIGTERM is sent. Instead schedule extcap termination timeout to happen as soon as control returns back to the event loop. There is no universally agreed replacement for SIGTERM on Windows, so just keep things simple (forcefully terminate like always) until we have agreed on something.
Diffstat (limited to 'capture_opts.h')
-rw-r--r--capture_opts.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/capture_opts.h b/capture_opts.h
index 130735b761..329b33c452 100644
--- a/capture_opts.h
+++ b/capture_opts.h
@@ -327,6 +327,8 @@ typedef struct capture_options_tag {
/* internally used (don't touch from outside) */
gboolean output_to_pipe; /**< save_file is a pipe (named or stdout) */
gboolean capture_child; /**< hidden option: Wireshark child mode */
+ gboolean stop_after_extcaps; /**< request dumpcap stop after last extcap */
+ gboolean wait_for_extcap_cbs; /**< extcaps terminated, waiting for callbacks */
gchar *compress_type; /**< compress type */
gchar *closed_msg; /**< Dumpcap capture closed message */
guint extcap_terminate_id; /**< extcap process termination source ID */