* command. Of course, \a buf is a pointer to the chunk of data which
* should be sent, and \a len is the length of this buffer.
*/
- void (*send)(struct audio_format_handler *af, long unsigned current_chunk,
- long unsigned chunks_sent, const char *buf, size_t len);
+ void (*send)(long unsigned current_chunk, long unsigned chunks_sent,
+ const char *buf, size_t len);
/** add file descriptors to fd_sets
*
* The pre_select function of each supported sender is called just before
*
* \sa select(2)
*/
- void (*pre_select)(struct audio_format_handler *af, int *max_fileno, fd_set *rfds,
- fd_set *wfds);
+ void (*pre_select)(int *max_fileno, fd_set *rfds, fd_set *wfds);
/**
* handle the file descriptors which are ready for I/O
*
* set, this is the hook to check the result and do any I/O on those descriptors
* which are ready for reading/writing.
*/
- void (*post_select)(struct audio_format_handler *af, fd_set *rfds, fd_set *wfds);
+ void (*post_select)(fd_set *rfds, fd_set *wfds);
/**
* terminate all connected clients
*
again:
FD_ZERO(&wfds);
FD_SET(fd, &wfds);
+ tv.tv_sec = 0;
+ tv.tv_usec = 0;
ret = select(fd + 1, NULL, &wfds, NULL, &tv);
if (ret < 0 && errno == EINTR)
goto again;