Skip to content

Commit 1f57e19

Browse files
authored
Merge pull request #54 from Xaymar/patch_hang-on-startup
Fix rare lockup on startup and missing object deallocation.
2 parents 96f614a + b4fd433 commit 1f57e19

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

obs-browser/browser-manager-base.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,8 @@ BrowserManager::Impl::Impl()
112112

113113
BrowserManager::Impl::~Impl()
114114
{
115-
os_event_init(&dispatchEvent, OS_EVENT_TYPE_AUTO);
116-
pthread_mutex_init(&dispatchLock, nullptr);
115+
os_event_destroy(dispatchEvent);
116+
pthread_mutex_destroy(&dispatchLock);
117117
}
118118

119119
int BrowserManager::Impl::CreateBrowser(
@@ -366,6 +366,7 @@ void BrowserManager::Impl::DispatchJSEvent(const char *eventName, const char *js
366366
void
367367
BrowserManager::Impl::Startup()
368368
{
369+
pthread_mutex_lock(&dispatchLock);
369370
int ret = pthread_create(&managerThread, nullptr,
370371
browserManagerEntry, this);
371372

@@ -378,6 +379,7 @@ BrowserManager::Impl::Startup()
378379
else {
379380
threadAlive = true;
380381
}
382+
pthread_mutex_unlock(&dispatchLock);
381383

382384
return;
383385
}

0 commit comments

Comments
 (0)