thread macro for finding first-fn value when polling