From 0155af407c3bd1f3d805b77881476bdc0de8328d Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 7 Mar 2020 11:28:42 +0100 Subject: fix qprocess race on unix --- proto-wine/ftnoir_protocol_wine.cpp | 5 +++-- video-ps3eye/module.cpp | 14 ++------------ 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/proto-wine/ftnoir_protocol_wine.cpp b/proto-wine/ftnoir_protocol_wine.cpp index 5955b507..aabaa30c 100644 --- a/proto-wine/ftnoir_protocol_wine.cpp +++ b/proto-wine/ftnoir_protocol_wine.cpp @@ -24,8 +24,9 @@ wine::~wine() } if (!exit) { - wrapper.kill(); - wrapper.waitForFinished(-1); + if (wrapper.state() != QProcess::NotRunning) + wrapper.kill(); + wrapper.waitForFinished(1000); } #endif //shm_unlink("/" WINE_SHM_NAME); diff --git a/video-ps3eye/module.cpp b/video-ps3eye/module.cpp index 26b771e2..fe6b51b8 100644 --- a/video-ps3eye/module.cpp +++ b/video-ps3eye/module.cpp @@ -112,19 +112,9 @@ void ps3eye_camera::stop() if (wrapper.state() != QProcess::NotRunning) { - if (shm.success()) - { - volatile auto& ptr = *(ps3eye::shm*)shm.ptr(); - ptr.in.do_exit = true; - if (!wrapper.waitForFinished(500)) - wrapper.kill(); - wrapper.waitForFinished(-1); - } - else - { + if (wrapper.state() != QProcess::NotRunning) wrapper.kill(); - wrapper.waitForFinished(-1); - } + wrapper.waitForFinished(1000); } } -- cgit v1.2.3