Skip to content
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

event callbacks that make gRPC calls can cause race conditions #111

Open
randallfrank opened this issue Nov 13, 2022 · 0 comments
Open

event callbacks that make gRPC calls can cause race conditions #111

randallfrank opened this issue Nov 13, 2022 · 0 comments

Comments

@randallfrank
Copy link
Collaborator

There are two potential issues here:

  1. if a callback makes another implicit gRPC call, it can cause re-entrancy problems (e.g. the gRPC connection can be shut down)
  2. repeated callbacks can queue client side and cause gil contention in the client Python

In any case, the current implementation can cause problems with calls like this:

session.ensight.objs.core.parts[("hood", "engine")].set_attr(session.ensight.enums.VISIBLE, False)

for a class-based callback associated with the "VISIBLE" attribute. The current work-around is to use macro expansion in the callback string to avoid the conflict in most cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant