git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Erik Faye-Lund <kusmabite@googlemail.com>
To: msysgit@googlegroups.com
Cc: git@vger.kernel.org, j6t@kdbg.org, Erik Faye-Lund <kusmabite@gmail.com>
Subject: [PATCH v2 00/14] daemon-win32
Date: Fri, 15 Jan 2010 22:30:19 +0100	[thread overview]
Message-ID: <1263591033-4992-1-git-send-email-kusmabite@gmail.com> (raw)

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(-)

             reply	other threads:[~2010-01-15 21:31 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-15 21:30 Erik Faye-Lund [this message]
2010-01-15 21:30 ` [PATCH v2 01/14] mingw: add network-wrappers for daemon Erik Faye-Lund
2010-01-15 21:30 ` [PATCH v2 02/14] mingw: implement syslog Erik Faye-Lund
2010-01-15 22:57   ` [msysGit] " Janos Laube
2010-01-15 23:01     ` Erik Faye-Lund
2010-01-15 23:09       ` Janos Laube
2010-01-15 21:30 ` [PATCH v2 03/14] compat: add inet_pton and inet_ntop prototypes Erik Faye-Lund
2010-01-15 21:30 ` [PATCH v2 04/14] inet_ntop: fix a couple of old-style decls Erik Faye-Lund
2010-01-15 21:30 ` [PATCH v2 05/14] mingw: support waitpid with pid > 0 and WNOHANG Erik Faye-Lund
2010-01-15 22:28   ` Johannes Sixt
2010-01-16 21:57     ` Erik Faye-Lund
2010-01-15 21:30 ` [PATCH v2 06/14] mingw: use real pid Erik Faye-Lund
2010-01-15 22:30   ` Johannes Sixt
2010-01-15 22:53     ` Erik Faye-Lund
2010-01-16  8:03       ` Johannes Sixt
2010-01-16  9:12         ` Erik Faye-Lund
2010-01-18 22:33           ` Erik Faye-Lund
2010-01-19 18:19             ` Johannes Sixt
2010-01-19 19:23               ` Erik Faye-Lund
2010-01-15 21:30 ` [PATCH v2 07/14] mingw: add kill emulation Erik Faye-Lund
2010-01-15 22:31   ` Johannes Sixt
2010-01-16 21:56     ` Erik Faye-Lund
2010-01-15 21:30 ` [PATCH v2 08/14] daemon: use explicit file descriptor Erik Faye-Lund
2010-01-15 22:36   ` Johannes Sixt
2010-01-16 21:52     ` Erik Faye-Lund
2010-01-15 21:30 ` [PATCH v2 09/14] daemon: use run-command api for async serving Erik Faye-Lund
2010-01-15 22:42   ` Johannes Sixt
2010-01-15 21:30 ` [PATCH v2 10/14] daemon: use full buffered mode for stderr Erik Faye-Lund
2010-01-15 21:30 ` [PATCH v2 11/14] mingw: compile git-daemon Erik Faye-Lund
2010-01-15 21:30 ` [PATCH v2 12/14] Improve the mingw getaddrinfo stub to handle more use cases Erik Faye-Lund
2010-01-15 21:30 ` [PATCH v2 13/14] daemon: use select() instead of poll() Erik Faye-Lund
2010-01-15 22:49   ` Johannes Sixt
2010-01-15 23:08     ` Erik Faye-Lund
2010-01-15 23:23       ` Erik Faye-Lund
2010-01-16  8:06         ` Johannes Sixt
2010-01-16  9:26           ` Erik Faye-Lund
2010-01-16 10:38             ` Johannes Sixt
2010-01-16 11:05               ` Erik Faye-Lund
2010-01-16 11:27                 ` Andreas Schwab
2010-01-16 11:43                   ` Erik Faye-Lund
2010-01-16 12:36                 ` Johannes Sixt
2010-01-16 21:31                   ` Erik Faye-Lund
2010-01-16  8:08       ` Johannes Sixt
2010-01-16  9:14         ` Erik Faye-Lund
2010-01-16 10:44           ` Johannes Sixt
2010-01-16 10:59             ` Erik Faye-Lund
2010-01-15 21:30 ` [PATCH v2 14/14] daemon: report connection from root-process Erik Faye-Lund
2010-01-15 22:27 ` [PATCH v2 00/14] daemon-win32 Johannes Sixt
2010-01-15 22:51   ` Erik Faye-Lund

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1263591033-4992-1-git-send-email-kusmabite@gmail.com \
    --to=kusmabite@googlemail.com \
    --cc=git@vger.kernel.org \
    --cc=j6t@kdbg.org \
    --cc=kusmabite@gmail.com \
    --cc=msysgit@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).