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

Re: [PATCH v4 08/15] daemon: use run-command api for async serving

From
Erik Faye-Lund <kusmabite@gmail.com>
Date
Oct 14, 2010, 10:18 UTC
Message-ID
<AANLkTikyxEB0VRg1jWd-AdR0uyxExw7O9YQfXJzu-f_M@mail.gmail.com>
In-Reply-To
<7vpqvdhfra.fsf@alter.siamese.dyndns.org>
On Thu, Oct 14, 2010 at 12:47 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 38 quoted lines
> Erik Faye-Lund <kusmabite@gmail.com> writes:
>
>> @@ -1017,7 +1005,12 @@ int main(int argc, char **argv)
>>                               continue;
>>                       }
>>               }
>> +             if (!strcmp(arg, "--serve")) {
>> +                     serve_mode = 1;
>> +                     continue;
>> +             }
>>               if (!strcmp(arg, "--inetd")) {
>> +                     serve_mode = 1;
>>                       inetd_mode = 1;
>>                       log_syslog = 1;
>>                       continue;
>> @@ -1161,12 +1154,12 @@ int main(int argc, char **argv)
>>               die("base-path '%s' does not exist or is not a directory",
>>                   base_path);
>>
>> -     if (inetd_mode) {
>> +     if (serve_mode) {
>>               struct sockaddr_storage ss;
>>               struct sockaddr *peer = (struct sockaddr *)&ss;
>>               socklen_t slen = sizeof(ss);
>>
>> -             if (!freopen("/dev/null", "w", stderr))
>> +             if (inetd_mode && !freopen("/dev/null", "w", stderr))
>>                       die_errno("failed to redirect stderr to /dev/null");
>
> This is not particularly a good style.  Please make it more clear that we
> freopen in inetd mode by writing it like this:
>
>        if (inetd_mode) {
>                if (!freopen(...))
>                        die_errno(...)
>        }
>
>
Much nicer, yeah. Now I'm tempted to do this also:
---8<---
diff --git a/daemon.c b/daemon.c
index 7f5d72f..11a5e06 100644
--- a/daemon.c
+++ b/daemon.c
@@ -1010,7 +1010,6 @@ int main(int argc, char **argv)
 			continue;
 		}
 		if (!strcmp(arg, "--inetd")) {
-			serve_mode = 1;
 			inetd_mode = 1;
 			log_syslog = 1;
 			continue;
@@ -1159,7 +1158,7 @@ int main(int argc, char **argv)
 			die_errno("failed to redirect stderr to /dev/null");
 	}

-	if (serve_mode) {
+	if (inetd_mode || serve_mode) {
 		struct sockaddr_storage ss;
 		struct sockaddr *peer = (struct sockaddr *)&ss;
 		socklen_t slen = sizeof(ss);
---8<---
Previous: Junio C HamanoNext: Junio C Hamano
Message 19 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.