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]

Reply via email to