Thread (47 messages) flat view 47 messages, 3 authors, 2016-06-15

Re: [PATCH v2 13/14] daemon: use select() instead of poll()

From: Johannes Sixt <hidden>
Date: 2016-06-15 22:48:02

On Freitag, 15. Januar 2010, Erik Faye-Lund wrote:
+#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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help