Re: MinGW port usable
- From
Daniel Barkalow <barkalow@iabervon.org>
- Date
- Jan 30, 2007, 17:09 UTC
- Message-ID
- <Pine.LNX.4.64.0701301204400.20138@iabervon.org>
- In-Reply-To
- <45BF0098.8FF978CE@eudaptics.com>
On Tue, 30 Jan 2007, Johannes Sixt wrote:
Show 18 quoted lines
> Daniel Barkalow wrote: > > > > On Mon, 29 Jan 2007, Johannes Sixt wrote: > > > > > (*) The reason is that on Windows read() and write() cannot operate on > > > descriptors created by socket(). A work-around is to implement a (threaded) > > > proxy, but that's almost the same as if netcat were used as > > > GIT_PROXY_COMMAND. > > > > Can you do > > > > #define read(fd, buffer, len) recv(fd, buffer, len, 0) > > #define write(fd, buffer, len) send(fd, buffer, len, 0) > > > > in the appropriate file? > > I doubt that recv and send can operate on regular file descriptors, as > opened by _pipe(), open(), can they?
I don't think so, but I think it should be possible to make packet_write/packet_read always get a socket, by calling receive-pack and upload-pack with a socket pair instead of a pair of pipes. Actually, IIRC, this would be beneficial for making programs not leak file descriptors or double-close them, because there's already the issue on *nix that it isn't consistant whether both directions are the same file descriptor.
-Daniel *This .sig left intentionally blank*