Re: [PATCH v2 13/14] daemon: use select() instead of poll()
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Jan 15, 2010, 22:49 UTC
- Message-ID
- <201001152349.06418.j6t@kdbg.org>
- In-Reply-To
- <1263591033-4992-14-git-send-email-kusmabite@gmail.com>
On Freitag, 15. Januar 2010, Erik Faye-Lund wrote:
Show 7 quoted lines
> +#undef FD_SET
> +#define FD_SET(fd, set) do { \
> + ((fd_set*)(set))->fd_array[((fd_set *)(set))->fd_count++] =
> _get_osfhandle(fd); \ + } while(0)
> +#undef FD_ISSET
> +#define FD_ISSET(fd, set) __WSAFDIsSet(_get_osfhandle(fd), (fd_set
> *)(set)) +I'm worried about the internals that you have to use here. Isn't it possible save the original macro text and use it in the new definition, like (this is for exposition only):
#define ORIG_FD_SET(fd, set) FD_SET(fd, set) #undef FD_SET #define FD_SET(fd, set) ORIG_FD_SET(_get_osfhandle(fd), set)
Another approach would be to extend the poll emulation such that it uses select if all FDs to wait for are sockets, and I think this would be the case in this application.
-- Hannes