|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH 6/6] Add option to not spawn child process.
From: Owen Smith <owen.smith@xxxxxxxxxx>
If the "Executable" registry parameter is not found, do not spawn
a child process instead of failing.
Signed-off-by: Owen Smith <owen.smith@xxxxxxxxxx>
---
src/monitor/monitor.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/src/monitor/monitor.c b/src/monitor/monitor.c
index 6e1e85f..57513ff 100644
--- a/src/monitor/monitor.c
+++ b/src/monitor/monitor.c
@@ -597,6 +597,10 @@ MonitorThread(
Log("====>");
+ // If there is no executable, this thread can finish now.
+ if (Context->Executable == NULL)
+ goto done;
+
again:
ZeroMemory(&ProcessInfo, sizeof (ProcessInfo));
ZeroMemory(&StartupInfo, sizeof (StartupInfo));
@@ -649,6 +653,7 @@ again:
//#undef WAIT_OBJECT_1
+done:
Log("<====");
return 0;
@@ -1272,7 +1277,7 @@ MonitorMain(
Success = GetExecutable(&Context->Executable);
if (!Success)
- goto fail7;
+ Context->Executable = NULL;
Context->Device = INVALID_HANDLE_VALUE;
@@ -1286,7 +1291,7 @@ MonitorMain(
&Interface,
DEVICE_NOTIFY_SERVICE_HANDLE);
if (Context->InterfaceNotification == NULL)
- goto fail8;
+ goto fail7;
// The device may already by present
SetEvent(Context->AddEvent);
@@ -1338,7 +1343,8 @@ done:
UnregisterDeviceNotification(Context->InterfaceNotification);
- free(Context->Executable);
+ if (Context->Executable)
+ free(Context->Executable);
CloseHandle(Context->RemoveEvent);
@@ -1356,11 +1362,6 @@ done:
return;
-fail8:
- Log("fail8");
-
- free(Context->Executable);
-
fail7:
Log("fail7");
--
2.8.3
_______________________________________________
win-pv-devel mailing list
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |