- /* Don't need to make speaker_fd nonblocking because speaker_recv() uses
- * MSG_DONTWAIT. */
- ev_fd(ev, ev_read, speaker_fd, speaker_readable, 0);
+ /* Wait for the speaker to be ready */
+ speaker_recv(speaker_fd, &sm);
+ nonblock(speaker_fd);
+ ev_fd(ev, ev_read, speaker_fd, speaker_readable, 0, "speaker read");