diff --git a/meshcore/KVM/MacOS/mac_kvm.c b/meshcore/KVM/MacOS/mac_kvm.c index 6a7529c..790792f 100644 --- a/meshcore/KVM/MacOS/mac_kvm.c +++ b/meshcore/KVM/MacOS/mac_kvm.c @@ -703,6 +703,11 @@ void* kvm_relay_setup(char *exePath, void *processPipeMgr, ILibKVM_WriteHandler // Spawn child kvm process into a specific user session gChildProcess = ILibProcessPipe_Manager_SpawnProcessEx3(processPipeMgr, exePath, parms0, ILibProcessPipe_SpawnTypes_DEFAULT, (void*)(uint64_t)uid, 0); g_slavekvm = ILibProcessPipe_Process_GetPID(gChildProcess); + + char tmp[255]; + sprintf_s(tmp, sizeof(tmp), "Child KVM (pid: %d)", g_slavekvm); + ILibProcessPipe_Process_ResetMetadata(gChildProcess, tmp); + ILibProcessPipe_Process_AddHandlers(gChildProcess, 65535, &kvm_relay_ExitHandler, &kvm_relay_StdOutHandler, &kvm_relay_StdErrHandler, NULL, user); // Run the relay diff --git a/microstack/ILibProcessPipe.c b/microstack/ILibProcessPipe.c index 2051a25..1b85b0d 100644 --- a/microstack/ILibProcessPipe.c +++ b/microstack/ILibProcessPipe.c @@ -190,8 +190,16 @@ char * ILibProcessPipe_Manager_OnQuery(void *chain, void *object, int fd, size_t if (node != NULL) { ILibProcessPipe_PipeObject *pj = (ILibProcessPipe_PipeObject*)ILibLinkedList_GetDataFromNode(node); - *dataLen = strnlen_s(pj->metadata, 1024); - ret = pj->metadata; + if (pj->metadata != NULL) + { + *dataLen = strnlen_s(pj->metadata, 1024); + ret = pj->metadata; + } + else + { + *dataLen = 25; + ret = "ILibProcessPipe (unknown)"; + } } return(ret); }