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

Re: [PATCH v4 15/15] daemon: opt-out on features that require posix

From
Junio C Hamano <gitster@pobox.com>
Date
Oct 15, 2010, 21:16 UTC
Message-ID
<7vbp6vduly.fsf@alter.siamese.dyndns.org>
In-Reply-To
<AANLkTi=N+4QokkiGmN+S17=7=QsgKWUXrsF0vZ_6Zt2H@mail.gmail.com>
Erik Faye-Lund <kusmabite@gmail.com> writes:
Show 16 quoted lines
>>> -static int serve(struct string_list *listen_addr, int listen_port, struct passwd *pass, gid_t gid)
>>> +#ifndef NO_POSIX_GOODIES
>>> +static struct passwd *pass;
>>> +static gid_t gid;
>>> +#endif
>>> +
>>> +static int serve(struct string_list *listen_addr, int listen_port)
>>>  {
>>>       struct socketlist socklist = { NULL, 0, 0 };
>>>
>>
>> This is ugly.  Why did you need to make the arguments file-scope static?
>>
>
> To avoid having different signatures for the serve-function dependent
> on NO_POSIX_GOODIES.

Why does the signature even have to be different between the two to begin with? I _think_ you have gid_t over there, although you might not have "struct passwd", in which case you can just define an empty one that your alternate implementation is not going to use anyway. This is especially true if you are making the "drop-privileges" part a helper function, no?

Previous: Erik Faye-LundNext: Erik Faye-Lund
Message 34 of 47 in “daemon-win32”
  1. 00/15 daemon-win32Erik Faye-Lund, Oct 11, 2010
  2. 01/15 mingw: add network-wrappers for daemonErik Faye-Lund, Oct 11, 2010
  3. Jonathan NiederOct 11, 2010
  4. 02/15 mingw: implement syslogErik Faye-Lund, Oct 11, 2010
  5. Jonathan NiederOct 11, 2010
  6. Erik Faye-LundOct 11, 2010
  7. Jonathan NiederOct 11, 2010
  8. Erik Faye-LundOct 13, 2010
  9. Eric SunshineOct 13, 2010
  10. Pat ThoytsOct 13, 2010
  11. Erik Faye-LundOct 14, 2010
  12. 03/15 compat: add inet_pton and inet_ntop prototypesErik Faye-Lund, Oct 11, 2010
  13. 04/15 inet_ntop: fix a couple of old-style declsErik Faye-Lund, Oct 11, 2010
  14. 05/15 mingw: use real pidErik Faye-Lund, Oct 11, 2010
  15. 06/15 mingw: support waitpid with pid > 0 and WNOHANGErik Faye-Lund, Oct 11, 2010
  16. 07/15 mingw: add kill emulationErik Faye-Lund, Oct 11, 2010
  17. 08/15 daemon: use run-command api for async servingErik Faye-Lund, Oct 11, 2010
  18. Junio C HamanoOct 13, 2010
  19. Erik Faye-LundOct 14, 2010
  20. Junio C HamanoOct 17, 2010
  21. 09/15 daemon: use full buffered mode for stderrErik Faye-Lund, Oct 11, 2010
  22. 10/15 Improve the mingw getaddrinfo stub to handle more use casesErik Faye-Lund, Oct 11, 2010
  23. 11/15 daemon: report connection from root-processErik Faye-Lund, Oct 11, 2010
  24. Junio C HamanoOct 13, 2010
  25. Erik Faye-LundOct 14, 2010
  26. Junio C HamanoOct 17, 2010
  27. Erik Faye-LundOct 17, 2010
  28. 12/15 mingw: import poll-emulation from gnulibErik Faye-Lund, Oct 11, 2010
  29. 13/15 mingw: use poll-emulation from gnulibErik Faye-Lund, Oct 11, 2010
  30. 14/15 daemon: use socklen_tErik Faye-Lund, Oct 11, 2010
  31. 15/15 daemon: opt-out on features that require posixErik Faye-Lund, Oct 11, 2010
  32. Junio C HamanoOct 13, 2010
  33. Erik Faye-LundOct 14, 2010
  34. Junio C HamanoOct 15, 2010
  35. Erik Faye-LundOct 18, 2010
  36. Jonathan NiederOct 18, 2010
  37. Andreas SchwabOct 18, 2010
  38. empty structsJonathan Nieder, Oct 18, 2010
  39. Erik Faye-LundOct 21, 2010
  40. Erik Faye-LundOct 21, 2010
  41. Jonathan NiederOct 21, 2010
  42. Erik Faye-LundOct 21, 2010
  43. Junio C HamanoOct 21, 2010
  44. Junio C HamanoOct 18, 2010
  45. Erik Faye-LundOct 21, 2010
  46. Jonathan NiederOct 21, 2010
  47. Erik Faye-LundOct 21, 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.