This will block the low-priority workq for a second; you really don't want to do this.

The whole point of using the workq is that your handler is called periodically; when the handler runs you can just pull from the topics directly, rather than using poll to sniff for updates.  If you really care about whether the topic has changed, use the API to check for changes since your last read, not poll().