All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Levedahl <mlevedahl@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: "Torsten Bögershausen" <tboegi@web.de>,
	ramsay@ramsay1.demon.co.uk, git@vger.kernel.org
Subject: Re: [PATCH] CYGWIN: Use a TCP socket for pipe()
Date: Thu, 27 Jun 2013 22:46:55 -0400	[thread overview]
Message-ID: <51CCF91F.7080501@gmail.com> (raw)
In-Reply-To: <7vvc4zsbbs.fsf@alter.siamese.dyndns.org>

On 06/27/2013 01:38 PM, Junio C Hamano wrote:
> Torsten Bögershausen <tboegi@web.de> writes:
>
>> Work around issues that git hangs when doing fetch or pull under
>> various protocols under CYGWIN.
>>
>> Replace pipe() with a socket connection using a TCP/IP.
>> Introduce a new function socket_pipe() in compat/socket_pipe.c
> Sounds like sweeping the real problem, whatever it is, under rug.
> Is it that we are assuming a pipe buffer that is sufficiently large
> and expecting a write that we deem to be small enough not to block,
> causing a deadlock on a platform with very small pipe buffer, or
> something?
>

There were issues in early v1.7 Cygwin release for overlapping I/O such 
that the pipe was sometimes terminated early resulting in data loss. If 
the pipe implementation in Cygwin is still a problem a good test case 
sent to the Cygwin developers would be the right approach rather than a 
one-off patch in git to try to work around a current platform bug.

Note - I do not see random hangs with the stat/lstat hack removed, 
rather the sole test suite hang I see is repeatable in t0008.sh. So, if 
the patch remains, we may be able to run this remaining hang to ground.

Mark

  reply	other threads:[~2013-06-28  2:47 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-27 16:31 [PATCH] CYGWIN: Use a TCP socket for pipe() Torsten Bögershausen
2013-06-27 17:38 ` Junio C Hamano
2013-06-28  2:46   ` Mark Levedahl [this message]
2013-06-30 19:47     ` Torsten Bögershausen
2013-06-30 22:56       ` Junio C Hamano
2013-07-02 14:57         ` Torsten Bögershausen

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=51CCF91F.7080501@gmail.com \
    --to=mlevedahl@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=ramsay@ramsay1.demon.co.uk \
    --cc=tboegi@web.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.