Qt: Fix deadlock in extcap toolbar creation

Deadlock happened if extcap was writing to control pipe before it sent
the pcap data and the pipe buffer was not able to hold all the data.
The solution is to start reading data from extcap control pipe in
capture prepare.

This bug was introduced in 018f6bff18
which was reviewed on https://code.wireshark.org/review/23211
Unfortunately neither the commit message nor the review contains any
explaination why it delays the extcap control pipe opening.

Bug: 15261
Change-Id: I10d006128f6eb7d63f751d230edbd905eb46416b
Reviewed-on: https://code.wireshark.org/review/32898
Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
Tomasz Moń 2019-04-19 17:48:45 +02:00 committed by Anders Broman
parent 7432d6f154
commit 82d24d907a
1 changed files with 2 additions and 2 deletions

View File

@ -491,14 +491,14 @@ void MainWindow::queuedFilterAction(QString action_filter, FilterAction::Action
// Capture callbacks
#ifdef HAVE_LIBPCAP
void MainWindow::captureCapturePrepared(capture_session *) {
void MainWindow::captureCapturePrepared(capture_session *session) {
setTitlebarForCaptureInProgress();
setWindowIcon(wsApp->captureIcon());
/* Disable menu items that make no sense if you're currently running
a capture. */
setForCaptureInProgress(true);
setForCaptureInProgress(true, session->capture_opts->ifaces);
// set_capture_if_dialog_for_capture_in_progress(TRUE);
// /* Don't set up main window for a capture file. */