Commit b4fd433
Michael Fabian Dirks
Fix rare lockup on startup and missing object deallocation
* This fixes the destructor for BrowserManager::Impl, which was leaking four objects every time it was called.
* Also fixes a startup freeze caused by the manager thread executing too early, so that threadAlive is still false:
1. pthread_create is called for the manager thread, does not yet return.
2. The manager thread immediately runs, see the 'if (!threadAlive) return;' check and terminates.
3. pthread_create returns 0 (success), threadAlive is set to true.
Source is created, but we no longer have a manager to run events.
4. Program hangs on startup.1 parent 96f614a commit b4fd433
1 file changed
+4
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
115 | | - | |
116 | | - | |
| 115 | + | |
| 116 | + | |
117 | 117 | | |
118 | 118 | | |
119 | 119 | | |
| |||
366 | 366 | | |
367 | 367 | | |
368 | 368 | | |
| 369 | + | |
369 | 370 | | |
370 | 371 | | |
371 | 372 | | |
| |||
378 | 379 | | |
379 | 380 | | |
380 | 381 | | |
| 382 | + | |
381 | 383 | | |
382 | 384 | | |
383 | 385 | | |
| |||
0 commit comments