Re: MinGW port usable
- From
- H. Peter Anvin <hpa@zytor.com>
- Date
- Feb 1, 2007, 06:35 UTC
- Message-ID
- <45C18A3B.2070004@zytor.com>
- In-Reply-To
- <200701292320.43888.johannes.sixt@telecom.at>
Johannes Sixt wrote:
Show 13 quoted lines
> > The README.MinGW at > http://repo.or.cz/w/git/mingw.git?a=blob_plain;f=README.MinGW;hb=master gives > an overview on the state. The transfer via native git protocol does not work > and cannot be made working without major surgery(*). Theoretically, using > netcat (nc) as GIT_PROXY_COMMAND should work, but not in my setup for some > reason that I still do not know. > > (*) 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. >
Actually, I believe it can for the NT series kernels (at least 2000 or later, not sure about the earlier ones), but not for the DOS-based ones.
The trick is to use _open_osfhandle() to convert the file handle (a WinAPI construct) to a file descriptor (which in Windows is a construct of the C library.)
In 9x/ME, a socket isn't represented by a file handle, so _open_osfhandle() doesn't work on a socket object.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/html/_crt__open_osfhandle.asp
-hpa