-
Notifications
You must be signed in to change notification settings - Fork 131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IpcReceiver hangs indefinitely on MacOS when other process ends #266
Comments
Is this the same problem described by #201? |
Mm, I guess that issue is referring to the accept() operation specifically, while this is just a standard IpcReceiver::recv. |
I wonder if this is a symptom of #262? |
No, I don't think so. Like you said, this is just a standard
It might be. I am creating the |
I've also noticed a similar behavior via the |
Yes I can confirm. The workaround is to send an explicit message signalling exit, as opposed to rely on the drop behavior(it's also a good way to isolate the problem further, since if sending the explicit message doesn't help, the problem might be somewhere in the business logic). |
I have some code that calls
IpcReceiver::recv()
. I expect that it will block and then eventually sendIpcError::Disconnected
once the other process ends, but I'm finding that on MacOS it just hangs the process and continues to wait forever.Steps:
recv()
recv()
call will never returnOne important detail is that I'm calling
process::exit
to end the process. That means that the drop code may not be run. I have tried manually dropping it withdrop
, but that has not fixed the problem.This code works fine on other platforms.
The text was updated successfully, but these errors were encountered: