- * allow for internal processing. */
- void (*prepoll)(struct vconn *, int want, struct pollfd *pfd);
+ * allow for internal processing.
+ *
+ * Should return false normally. May return true to indicate that no
+ * blocking should happen in poll() because the connection is available for
+ * some operation specified in 'want' but that status cannot be detected
+ * via poll() and thus poll() could block forever otherwise. */
+ bool (*prepoll)(struct vconn *, int want, struct pollfd *pfd);