monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Stephen Leake
Subject: Re: [Monotone-devel] hang on Win32/MinGW with sync file:
Date: Wed, 12 Dec 2007 22:23:15 -0500
User-agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/22.1 (windows-nt)

Matthew Gregan <address@hidden> writes:

> At 2007-12-09T16:32:42-0500, Stephen Leake wrote:
>
>> mtn: fatal: std::runtime_error: network error: select(2): An operation was
>> attempted on something that is not a socket. (10038)
>
> Okay so far, you'd expect to see this when the stdio handles are not
> sockets.
>
>> The same occurs when 'mtn --stdio' is spawned with a socket as stdio,
>> as you can see in tester.log.
>
> So... we need to work out why this is happening, because it should work.  I
> haven't had time to look over your changes in any depth yet, but I will have
> some time in the weekend, so if you're still stuck on this I'll take a crack
> at it as well.
>
>> So I think we are back to the fundamental problem; how do we do
>> non-blocking IO on Win32 stdio?
>
> I have a working standalone proof of concept for this approach already, so I
> know we can make it work with monotone.

I've checked in a simple main program netxx_pipe_stdio_main that uses
StdioStream and StdioProbe; it is used in the netxx_pipe.cc unit test
pipe:spawn_stdio.

./unit_tester.exe pipe:spawn_stdio gives on Win32:

C:\Gnu\monotone.experimental.win32_pipes\unit_tester.exe: Subprocess command 
line: 'netxx_pipe_stdio_main '
exception: select(2): An operation was attempted on something that is not a 
socket. (10038)

./unit_tester.exe pipe:spawn_cat passes, so it seems one side of the
interface is working.


On Unix, ./unit_tester.exe pipe:spawn_stdio passes.

--
-- Stephe




reply via email to

[Prev in Thread] Current Thread [Next in Thread]