On Tue, 30 Jan 2007, Johannes Sixt wrote: > 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* - 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