diff --git a/plugins/mac-virtualcam/src/obs-plugin/OBSDALMachServer.mm b/plugins/mac-virtualcam/src/obs-plugin/OBSDALMachServer.mm index a1b141a45..d2857766e 100644 --- a/plugins/mac-virtualcam/src/obs-plugin/OBSDALMachServer.mm +++ b/plugins/mac-virtualcam/src/obs-plugin/OBSDALMachServer.mm @@ -101,19 +101,24 @@ receivePort:nil components:components]; message.msgid = msgId; - if (![message + if (![port isValid] || + ![message sendBeforeDate: [NSDate dateWithTimeIntervalSinceNow: 1.0]]) { blog(LOG_DEBUG, "failed to send message to %d, removing it from the clients!", ((NSMachPort *)port).machPort); + + [port invalidate]; [removedPorts addObject:port]; } } @catch (NSException *exception) { blog(LOG_DEBUG, "failed to send message (exception) to %d, removing it from the clients!", ((NSMachPort *)port).machPort); + + [port invalidate]; [removedPorts addObject:port]; } }