PengZheng commented on code in PR #551: URL: https://github.com/apache/celix/pull/551#discussion_r1191197382
########## bundles/remote_services/remote_service_admin_shm_v2/rsa_shm/src/rsa_shm_client.c: ########## @@ -638,6 +634,16 @@ static void *rsaShmClientManager_exceptionMsgHandlerThread(void *data) { removed = rsaShmClientManager_handleMsgState(clientManager, exceptionMsg); if (removed) { celix_arrayList_add(evictedMsgs, exceptionMsg); + } else if (clientManager->threadActive == false) { + int fd = socket(AF_UNIX, SOCK_DGRAM, 0); + if (fd >= 0) { + if (bind(fd, (struct sockaddr *) &exceptionMsg->serverAddr, sizeof(struct sockaddr_un)) == 0) { + //Peer server process has been terminated, so remove the exception message + //If the peer server process is still running, the bind will fail, and errno will be set to EADDRINUSE + celix_arrayList_add(evictedMsgs, exceptionMsg); Review Comment: Busy loop when `clientManager->threadActive == false`. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@celix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org