Here's the long overdue v2 of my daemon-win32 attempt. A lot has happened since v1. Most importantly, I abandoned using the async API to replace fork(), and went for explicitly spawning child process that handle the connection. The patches are on top of the current version of Junio's master-branch. When talking about patch numbers here, I'm referring to the numbers from the previous round. Patch 1 has been adjusted to work on top of Martin's ipv6 patches. Patch 2 has been dropped, because it was made obsolete by the changes to patch 3. Patch 3 has been simplified as suggested by Hannes. The problem with reporting IPv6 addresses should still be there in theory, but I haven't been able to trigger it. I'm having a feeling that it's better to do a case-by-case patch of the code that reports for this one. Patch 4 and 5 are unchanged. Patch 6 and 7 were dropped, in favour of a new approach. Patch 8 has been updated as suggested. Patch 9 has been rewritten to spawn a separate child process that serves the client. Patch 10 is unchanged Patch 11 has been updated as suggested. In addition, I've added a patch that add some needed support in our waitpid()-emulation, a (very limited) kill()-emulation, a patch that uses real PIDs on Windows (instead of process-local kernel-handles), a patch that changes the code to use select() instead of poll() to wait for socket-action (due to our limited poll-emulation). And there's a patch that makes sure connections are reported from the root-process. In addition, I've attached an updated version of the getaddrinfo()-fix that Martin sent me privately. I removed Hannes sign-off (as requested by Martin, due to the update) The branch can also be found here: http://repo.or.cz/w/git/kusma.git daemon-win32-v2 Puuuh, I hope I didn't miss anything important. Erik Faye-Lund (10): inet_ntop: fix a couple of old-style decls mingw: support waitpid with pid > 0 and WNOHANG mingw: use real pid mingw: add kill emulation daemon: use explicit file descriptor daemon: use run-command api for async serving daemon: use full buffered mode for stderr mingw: compile git-daemon daemon: use select() instead of poll() daemon: report connection from root-process Martin Storsjö (1): Improve the mingw getaddrinfo stub to handle more use cases Mike Pape (3): mingw: add network-wrappers for daemon mingw: implement syslog compat: add inet_pton and inet_ntop prototypes Makefile | 10 +- compat/inet_ntop.c | 22 ++---- compat/inet_pton.c | 8 +- compat/mingw.c | 141 +++++++++++++++++++++++++++++-- compat/mingw.h | 80 +++++++++++++++++- daemon.c | 236 ++++++++++++++++++++++++++++------------------------ git-compat-util.h | 9 ++ 7 files changed, 361 insertions(+), 145 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html