delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2007/06/07/12:50:02

X-Spam-Check-By: sourceware.org
Date: Fri, 8 Jun 2007 00:49:33 +0800
From: Samuel Thibault <samuel DOT thibault AT ens-lyon DOT org>
To: cygwin AT cygwin DOT com
Subject: Re: [ANNOUNCEMENT] New package: brltty 3.8
Message-ID: <20070607164933.GF4110@implementation>
Mail-Followup-To: cygwin AT cygwin DOT com
References: <announce DOT 20070605230831 DOT GC3356 AT implementation> <f45rfu$r9r$1 AT sea DOT gmane DOT org> <20070606085100 DOT GA5082 AT implementation> <4666819A DOT 52A6488D AT dessent DOT net> <20070606192445 DOT GG6500 AT implementation> <20070606201111 DOT GA2366 AT ednor DOT casa1 DOT cgf DOT cx> <20070607114950 DOT GA3958 AT implementation> <20070607122642 DOT GA31803 AT trixie DOT casa DOT cgf DOT cx> <20070607160859 DOT GA3577 AT implementation> <20070607163744 DOT GA4972 AT ednor DOT casa1 DOT cgf DOT cx>
Mime-Version: 1.0
In-Reply-To: <20070607163744.GA4972@ednor.casa1.cgf.cx>
User-Agent: Mutt/1.5.11
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

Christopher Faylor, le Thu 07 Jun 2007 12:37:44 -0400, a écrit :
> On Fri, Jun 08, 2007 at 12:08:59AM +0800, Samuel Thibault wrote:
> >To the best of my knowledge, there is no "unixish" way in cygwin
> >to access these pipes, so we just used CreateNamedPipe().
> 
> So don't use named pipes.

What instead?  Just TCP/IP? (it's quite sluggish).

> >As a result, we have a windows handle to deal with.  If we used the
> >cygwin sockets for the TCP/IP connextions, we would end up with two
> >types of sockets, which is hairy to handle.  Yes, we could use
> >open_osfhandle() for converting the named pipe socket into a cygwin
> >socket, but we still have to manage the windows connexion stuff, etc.
> >Anyway, we already have the code using windows TCP/IP sockets and named
> >pipes working correctly for the mingw32 port, and it _does_ work fine
> >with cygwin too, so for maintainability reasons, it is useless to make
> >the code more complex just for using cygwin functions.
> 
> Once again, I have to ask why whatever linux does in this scenario is
> not adequate for Cygwin.  I am assuming that linux uses fifos.

If we weren't using windows named pipes, we could just use cygwin
sockets and that would be fine.  But we use windows named pipes and end
up with two kinds of sockets.  On Linux we only have "file descriptors"
and it's fine indeed.

> >> You're now mentioning named pipes which adds another data point but if
> >> brltty is working on linux then I don't see why it can't be using
> >> linux-like techniques on cygwin, cygwin bugs notwithstanding.
> >
> >Because it has to communicate with other, non-cygwin, applications
> >
> >> You don't appear to be saying that you've stumbled over a cygwin bug.
> >
> >I'm not (except maybe "cygwin doesn't provide a way to connect to
> >windows named pipes).
> 
> Yes, if you have a 3/8 inch wrench and want to tighten a 13mm nut, you
> will have a hard time.  However, you could change wrenches.

And use which wrenches instead, here?

> >> Only if you can clearly communicate why the linux API doesn't work.
> >
> >I already said it in a previous mail: because it has to communicate with
> >other, non-cygwin, applications.
> 
> Cygwin does routinely communicate with other non-cygwin applications.

(I'm not afraid of repeating questions) Through what?

> It appears that you are assuming that Cygwin doesn't do whatever the
> linux port does or that,

The problem is not that it doesn't do what the linux port does, but that
to my knowledge, the native "local pipe" notion in windows are named
pipes, which doesn't have any Linux equivalent, and vice-versa
concerning local sockets.

Samuel

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019