Replies: 1 comment
|
I will close this as I moved the discussion as a topic to the iceoryx2 community |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hello together,
I am currently using iceoryx2 with the python language bindings and aim to develop a simple server/client exchange via the request/response pattern.
To this end, I normally use a Server class that sets up communication with iceoryx2 and then starts a thread to run the event-based communication. However, I ran into the issue that after setting up this thread, the Server class does not initialize properly.
I have isolated all of this in, what I think, is the most minimal example for this behaviour.
The server event_loop sets up the iox2 objects and then performs
wait_and_process()via the waitset to listen to any events.The client function also sets up the iox2 objects and directly sends the payload, notifies the request event service and waits for the response from the eventloop.
However, executing this code does not terminate. To rule out that this is due
wait_and_process()being activated, thus needing an event to wake_up and terminate, I replaced the 'while True' loop with a 'running' variable that ensures the loop is only run once.Still, just by looking at the terminal, execution seems to freeze once the event_loop ist started.
Some more things I already considered.
while True:loopwait_and_processfunction withwait_and_process_with_timeout()results in a timeout on the client sideI am a bit clueless on what to do now. I also suspected whether the GIL is handled correctly, but the iceoryx2 documentation specifically states that for blocking_waits in python the GIL is released.
My question is therefore, does anyone know what else could be the issue with this code and can confirm that this form of communication properly aligns with the iceoryx2 communication patterns/examples?
minimal_issue_example.py
All reactions