mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-09-04 11:45:18 +02:00
Merge pull request #12371 from unknownbrackets/thread-detach
Avoid thread.detach(), join when needed instead
This commit is contained in:
@@ -257,7 +257,6 @@ RemoteISOConnectScreen::RemoteISOConnectScreen() : status_(ScanStatus::SCANNING)
|
||||
scanThread_ = new std::thread([](RemoteISOConnectScreen *thiz) {
|
||||
thiz->ExecuteScan();
|
||||
}, this);
|
||||
scanThread_->detach();
|
||||
}
|
||||
|
||||
RemoteISOConnectScreen::~RemoteISOConnectScreen() {
|
||||
@@ -271,6 +270,8 @@ RemoteISOConnectScreen::~RemoteISOConnectScreen() {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (scanThread_->joinable())
|
||||
scanThread_->join();
|
||||
delete scanThread_;
|
||||
}
|
||||
|
||||
@@ -314,11 +315,12 @@ void RemoteISOConnectScreen::update() {
|
||||
status_ = ScanStatus::LOADING;
|
||||
|
||||
// Let's reuse scanThread_.
|
||||
if (scanThread_->joinable())
|
||||
scanThread_->join();
|
||||
delete scanThread_;
|
||||
scanThread_ = new std::thread([](RemoteISOConnectScreen *thiz) {
|
||||
thiz->ExecuteLoad();
|
||||
}, this);
|
||||
scanThread_->detach();
|
||||
break;
|
||||
|
||||
case ScanStatus::FAILED:
|
||||
@@ -331,11 +333,12 @@ void RemoteISOConnectScreen::update() {
|
||||
status_ = ScanStatus::SCANNING;
|
||||
nextRetry_ = 0.0;
|
||||
|
||||
if (scanThread_->joinable())
|
||||
scanThread_->join();
|
||||
delete scanThread_;
|
||||
scanThread_ = new std::thread([](RemoteISOConnectScreen *thiz) {
|
||||
thiz->ExecuteScan();
|
||||
}, this);
|
||||
scanThread_->detach();
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user