git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Erik Faye-LundNext: Erik Faye-Lund
Message 32 of 49 in “daemon-win32”
  1. 00/14 daemon-win32Erik Faye-Lund, Jan 15, 2010
  2. 01/14 mingw: add network-wrappers for daemonErik Faye-Lund, Jan 15, 2010
  3. 02/14 mingw: implement syslogErik Faye-Lund, Jan 15, 2010
  4. Janos LaubeJan 15, 2010
  5. Erik Faye-LundJan 15, 2010
  6. Janos LaubeJan 15, 2010
  7. 03/14 compat: add inet_pton and inet_ntop prototypesErik Faye-Lund, Jan 15, 2010
  8. 04/14 inet_ntop: fix a couple of old-style declsErik Faye-Lund, Jan 15, 2010
  9. 05/14 mingw: support waitpid with pid > 0 and WNOHANGErik Faye-Lund, Jan 15, 2010
  10. Johannes SixtJan 15, 2010
  11. Erik Faye-LundJan 16, 2010
  12. 06/14 mingw: use real pidErik Faye-Lund, Jan 15, 2010
  13. Johannes SixtJan 15, 2010
  14. Erik Faye-LundJan 15, 2010
  15. Johannes SixtJan 16, 2010
  16. Erik Faye-LundJan 16, 2010
  17. Erik Faye-LundJan 18, 2010
  18. Johannes SixtJan 19, 2010
  19. Erik Faye-LundJan 19, 2010
  20. 07/14 mingw: add kill emulationErik Faye-Lund, Jan 15, 2010
  21. Johannes SixtJan 15, 2010
  22. Erik Faye-LundJan 16, 2010
  23. 08/14 daemon: use explicit file descriptorErik Faye-Lund, Jan 15, 2010
  24. Johannes SixtJan 15, 2010
  25. Erik Faye-LundJan 16, 2010
  26. 09/14 daemon: use run-command api for async servingErik Faye-Lund, Jan 15, 2010
  27. Johannes SixtJan 15, 2010
  28. 10/14 daemon: use full buffered mode for stderrErik Faye-Lund, Jan 15, 2010
  29. 11/14 mingw: compile git-daemonErik Faye-Lund, Jan 15, 2010
  30. 12/14 Improve the mingw getaddrinfo stub to handle more use casesErik Faye-Lund, Jan 15, 2010
  31. 13/14 daemon: use select() instead of poll()Erik Faye-Lund, Jan 15, 2010
  32. Johannes SixtJan 15, 2010
  33. Erik Faye-LundJan 15, 2010
  34. Erik Faye-LundJan 15, 2010
  35. Johannes SixtJan 16, 2010
  36. Erik Faye-LundJan 16, 2010
  37. Johannes SixtJan 16, 2010
  38. Erik Faye-LundJan 16, 2010
  39. Andreas SchwabJan 16, 2010
  40. Erik Faye-LundJan 16, 2010
  41. Johannes SixtJan 16, 2010
  42. Erik Faye-LundJan 16, 2010
  43. Johannes SixtJan 16, 2010
  44. Erik Faye-LundJan 16, 2010
  45. Johannes SixtJan 16, 2010
  46. Erik Faye-LundJan 16, 2010
  47. 14/14 daemon: report connection from root-processErik Faye-Lund, Jan 15, 2010
  48. Johannes SixtJan 15, 2010
  49. Erik Faye-LundJan 15, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.