Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Content-Type: text/plain; charset="iso-8859-1" From: Laurent Pinchart Organization: Capflow To: egor duda Subject: Re: OpenSSH and WinCVS in Windows 9x Date: Thu, 8 Aug 2002 13:56:37 +0200 User-Agent: KMail/1.4.1 Cc: cygwin AT cygwin DOT com References: <20020806140534 DOT 757a155a DOT steven DOT obrien2 AT ntlworld DOT com> <200208081138 DOT 11412 DOT laurent DOT pinchart AT capflow DOT com> <124926316162 DOT 20020808135052 AT logos-m DOT ru> In-Reply-To: <124926316162.20020808135052@logos-m.ru> MIME-Version: 1.0 Message-Id: <200208081356.37427.laurent.pinchart@capflow.com> Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id g78BsmR28159 Hi Egor, First of all, thanks for your help. > To debug the problem a little further you can try to use variable > > ======================================================================== > $CVS_CLIENT_LOG > > Used for debugging only in client-server mode. If set, everything send > to the server is logged into `$CVS_CLIENT_LOG.in' and everything send > from the server is logged into `$CVS_CLIENT_LOG.out'. > ======================================================================== I had to modify the WinCVS code to support the CVS_CLIENT_LOG environment variable (WinCVS emulates an environment from the contents of the configuration dialog boxes), but that works fine > and cvs protocol description, which can be found here, for example: > http://www.loria.fr/~molli/cvs/doc/cvsclient_5.html I analyzed the log files, and found no error. After some investigation, I ran accross the following line in the request section: "When the client is done, it drops the connection." This does not seem to happen. WinCVS creates the ssh process by calling CreateProcess, which has stdin and stdout redirected to pipes. The pipes are then converted to C file descriptors, which in turn are converted to FILE pointers. Closing those FILEs doesn't make ssh terminate. I tried to modify the WinCVS code, and closed all the pipe handles right after creating the child process (ssh). This doesn't make the child process terminate. I suppose that it is then a bug in OpenSSH/Cygwin. I'll try to investigate in the OpenSSH sources. My guess is that OpenSSH calls select() on the standard input, and fails to detect that the pipe has been closed. Once again, this only occurs in Win98, not in Win2k. I'm not very familiar with pipes on windows, so I'd appreciate help on this subject. Laurent Pinchart -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/