diff options
| author | isanae <14251494+isanae@users.noreply.github.com> | 2019-10-24 07:11:08 -0400 |
|---|---|---|
| committer | isanae <14251494+isanae@users.noreply.github.com> | 2019-11-06 07:44:54 -0500 |
| commit | bff5a22f48b933fe9eba3a15497882ddf2a03990 (patch) | |
| tree | ec79ff1472107be952b12a8b15dda6350d0fb9a8 /src/organizercore.h | |
| parent | 8f24f6298f62e36db1c7a624052e70b41c5e7e27 (diff) | |
spawning an executable now only waits for that particular process
added waitForAllUSVFSProcesses() to OrganizerCore, used when closing MO
Diffstat (limited to 'src/organizercore.h')
| -rw-r--r-- | src/organizercore.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/organizercore.h b/src/organizercore.h index 3d3c7325..ffdb6830 100644 --- a/src/organizercore.h +++ b/src/organizercore.h @@ -167,6 +167,8 @@ public: const QString &profile, const QString &forcedCustomOverwrite = "",
bool ignoreCustomOverwrite = false);
+ bool waitForApplication(HANDLE processHandle, LPDWORD exitCode = nullptr);
+ bool waitForAllUSVFSProcessesWithLock();
void loginSuccessfulUpdate(bool necessary);
void loginFailedUpdate(const QString &message);
@@ -221,8 +223,6 @@ public: DownloadManager *downloadManager();
PluginList *pluginList();
ModList *modList();
- bool waitForApplication(HANDLE processHandle, LPDWORD exitCode = nullptr);
- HANDLE findAndOpenAUSVFSProcess(const std::vector<QString>& hiddenList, DWORD preferedParentPid);
bool onModInstalled(const std::function<void (const QString &)> &func);
bool onAboutToRun(const std::function<bool (const QString &)> &func);
bool onFinishedRun(const std::function<void (const QString &, unsigned int)> &func);
@@ -311,6 +311,13 @@ private: bool waitForProcessCompletion(
HANDLE handle, LPDWORD exitCode, ILockedWaitingForProcess* uilock);
+ bool waitForAllUSVFSProcesses(ILockedWaitingForProcess* uilock);
+
+ void withLock(std::function<void (ILockedWaitingForProcess*)> f);
+
+ HANDLE findAndOpenAUSVFSProcess(
+ const std::vector<QString>& hiddenList, DWORD preferedParentPid);
+
private slots:
void directory_refreshed();
|
