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

ZMQ_DISH socket type does not support ZMQ_FD getsockopt #3953

Open
staticfloat opened this issue Jun 7, 2020 · 2 comments
Open

ZMQ_DISH socket type does not support ZMQ_FD getsockopt #3953

staticfloat opened this issue Jun 7, 2020 · 2 comments

Comments

@staticfloat
Copy link
Contributor

staticfloat commented Jun 7, 2020

Issue description

In trying to use the ZMQ_DISH draft socket type, I am unable to use getsockopt with ZMQ_FD to get the underlying file descriptor for usage with an external event system. This appears to be the case because _thread_safe is set to true in the parent socket_base_t constructor here. Setting _thread_safe implies a denied ZMQ_FD request, as seen here.

I do not understand the internals of ZMQ well enough to understand why thread safety denies ZMQ_FD, but my guess would be because _thread_safe originally meant ZMQ_PAIR, and running over the inproc transport would naturally not have an OS-level file descriptor. From what I can tell of the ZMQ_DISH type however, it appears a file descriptor could be expected.

Without the ability to integrate these sockets into an external event loop, efforts to port these draft socket types over to language bindings such as ZMQ.jl will be hampered, as we use the ability to watch file descriptors as a central part of our concurrency model.

Environment

  • libzmq version: 4.3.2
  • OS: Linux x86_64
@stale
Copy link

stale bot commented Jun 11, 2021

This issue has been automatically marked as stale because it has not had activity for 365 days. It will be closed if no further activity occurs within 56 days. Thank you for your contributions.

@stale stale bot added the stale label Jun 11, 2021
@staticfloat
Copy link
Contributor Author

Please do not mark this as stale, stalebot! :)

@stale stale bot removed the stale label Jun 11, 2021
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