-
Notifications
You must be signed in to change notification settings - Fork 2
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
Inter-process messaging issue #36
Comments
Hey, this is caused by Task.async() |> Task.await() leaving :EXIT signal in the mailbox after it finishes. Venomous traps exits and it so happens that whenever you call python later on these signals are being instantly captured and python process is killed. This can be solved by running |
I’m definitely not suggesting clearing out the mailbox. I’m only using it to highlight the issue. |
I decided to just filter out any :EXITs signals that happen prior to running receive block. This fixes it and shouldn't be destructive |
First of all, thanks for venomous.
I might have found an issue that seems to uncover weird messaging behaviour between different processes. I managed to re-produce this with the examples repo
iex -S mix run
The issue here seems to be in
iex(3)
. It seems that it's receiving a message meant for the previously runTask.async
process. Note that the one right after runs fine because the message was received.In addition, if you run
flush()
between the 2 of them as iniex(6)
, the next call works fine which highlights the fact that it's related to messaging.This can multiply massively if you have multiple async processes awaited such as the one in the docs. The only sensible way out of the following is to run
flush()
given the number of messages in the mailbox.The text was updated successfully, but these errors were encountered: