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: Tue, 11 Dec 2007 19:44:54 -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.

Hmm. If we want Windows to be an ssh server, it must handle this case.
That is, the client does:

mtn sync ssh:my.windows.box.org

then on 'my.window.box.org', ssh runs the command

mtn serve --sdtio

and stdio for mtn is _not_ a socket. Actually, I have no idea what
mechanism ssh uses to spawn mtn in this case. But if we advertise
"--stdio", it aught to handle the non-socket case. 

Hmm. I guess I should look in the ssh source to see what it does here;
it might be instructive.

Or we can just say "mtn can't be an ssh server on Windows". That would
work for me, but it would be disappointing.

>> 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.  

Ok.

> 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.

Ok.

>> 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.

Ok. Can you send me that code? I'm at the point of implementing some
simple standalone debug code. Maybe I could start with yours.

-- 
-- Stephe




reply via email to

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