limit port_send for wakeup to once-per-loop