diff options
author | Tomasz Moń <desowin@gmail.com> | 2022-08-13 05:58:50 +0200 |
---|---|---|
committer | Tomasz Moń <desowin@gmail.com> | 2022-08-13 20:23:51 +0200 |
commit | d0a9de2af1882f0ff23a43baa051da35d7fed512 (patch) | |
tree | df1d17c56309f24649ddb5b140829adee49110d4 /capture_opts.h | |
parent | 8291dc23f3d2591f8b22e342ff061d65d50032b0 (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.h | 2 |
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 */ |