zbentley commented on issue #6477: URL: https://github.com/apache/pulsar/issues/6477#issuecomment-1126061385
This remains a problem with the current client. For SIGINT to be received by a Python program, you have to do one of two thigns: - call `receive` with a timeout, in which case the signal will be received after the timeout. - use a `message_listener` handler, which really changes guarantees and behavior. Other network service drivers are interruptible when in their `receive` operation; can this one be? At least on Linux, it looks like Boost is calling `read` when there's no data in the socket, rather than using an interruptible multiplexer (e.g. poll/epoll/select) to wait until data is ready; the latter would allow operations to respond to signals. Nonblocking reads with a socket-timeout set are also an option. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
