Re: [Monotone-devel] hang on Win32/MinGW with sync file:

2007-12-04 Thread Stephen Leake
Matthew Gregan [EMAIL PROTECTED] writes: At 2007-12-03T19:04:28-0500, Stephen Leake wrote: Can you point me to a URL for socketpair.c? I could look at implementing it as well. http://cantrip.org/socketpair.c This is not under the GPL license, but it may be compatible. We should probably ask

Re: [Monotone-devel] hang on Win32/MinGW with sync file:

2007-12-04 Thread Stephen Leake
Matthew Gregan [EMAIL PROTECTED] writes: At 2007-12-03T06:59:26-0500, Stephen Leake wrote: I forgot to mention that this seems to be a bug in the pipe implementation on Win32. Yeah, the Win32 pipe code is pretty buggy. Rather than trying to debug it, I think the best solution is to toss it

Re: [Monotone-devel] hang on Win32/MinGW with sync file:

2007-12-04 Thread Matthew Gregan
At 2007-12-04T06:52:46-0500, Stephen Leake wrote: I've looked at this some. I think we need to change the parts of netxx_pipe.cc that deal with WIN32 pipes to deal with sockets instead. Yep. It'll end up looking very much like the existing code for non-Windows platforms. Note that

Re: [Monotone-devel] hang on Win32/MinGW with sync file:

2007-12-04 Thread Zack Weinberg
On Dec 4, 2007 12:11 PM, Matthew Gregan [EMAIL PROTECTED] wrote: Note that dumb_socketpair is _not_ actually cross-platform; it has the same #ifdef WIN32 style that netxx_pipe.cc currently has, and the WIN32 version has an extra parameter that is important. Apparently 'socketpair' is

Re: [Monotone-devel] hang on Win32/MinGW with sync file:

2007-12-04 Thread Matthew Gregan
At 2007-12-04T15:18:18-0800, Zack Weinberg wrote: On Dec 4, 2007 12:11 PM, Matthew Gregan [EMAIL PROTECTED] wrote: Right, that code is an implementation of socketpair() for Windows because it is not provided by the Windows socket API. Cross platform refers to the rest of the code--all

Re: [Monotone-devel] hang on Win32/MinGW with sync file:

2007-12-04 Thread Zack Weinberg
On Dec 4, 2007 3:29 PM, Matthew Gregan [EMAIL PROTECTED] wrote: Yeah, true. The problem is that there is no close() on Windows (there's _close() for CRT file descriptors, closesocket() for WinSock sockets, and CloseHandle() for most other things). It shouldn't be a big deal to abstract

Re: [Monotone-devel] hang on Win32/MinGW with sync file:

2007-12-04 Thread Stephen Leake
Matthew Gregan [EMAIL PROTECTED] writes: Note that dumb_socketpair is _not_ actually cross-platform; it has the same #ifdef WIN32 style that netxx_pipe.cc currently has, and the WIN32 version has an extra parameter that is important. Apparently 'socketpair' is implemented on some/most unix

Re: [Monotone-devel] hang on Win32/MinGW with sync file:

2007-12-04 Thread Zack Weinberg
On Dec 4, 2007 4:33 PM, Stephen Leake [EMAIL PROTECTED] wrote: Note that dumb_socketpair is _not_ actually cross-platform; it has the same #ifdef WIN32 style that netxx_pipe.cc currently has, and the WIN32 version has an extra parameter that is important. Apparently 'socketpair' is

Re: [Monotone-devel] hang on Win32/MinGW with sync file:

2007-12-04 Thread Matthew Gregan
At 2007-12-04T19:33:35-0500, Stephen Leake wrote: Currently, all code outside netxx_pipe.cc uses netxx_pipe.cc. So I don't see what we are gaining by replacing Unix pipes by TCP sockets. Simplicity. See Zack's summary below. I'm not clear what you mean by cross platform. To me, that means