This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [ANNOUNCEMENT] New package: brltty 3.8


Christopher Faylor, le Thu 07 Jun 2007 08:26:42 -0400, a écrit :
> On Thu, Jun 07, 2007 at 07:49:50PM +0800, Samuel Thibault wrote:
> >Christopher Faylor, le Wed 06 Jun 2007 16:11:11 -0400, a ?crit :
> >> On Thu, Jun 07, 2007 at 03:24:45AM +0800, Samuel Thibault wrote:
> >> >Brian Dessent, le Wed 06 Jun 2007 02:42:50 -0700, a ?crit :
> >> >> Yes, setup automatically selects everything in Base for installation,
> >> >
> >> >Ah, I didn't know that, is that documented somewhere??
> >> 
> >> Yes: http://cygwin.com/cygwin-ug-net/setup-net.html
> >
> >Mmm, maybe a short note in http://cygwin.com/setup.html would be useful?
> 
> PTC.

As usual... Of course I won't provide a _patch_, but the following
should be sufficient under the list of categories:

«?Be careful about the Base category, as its packages are always
installed by setup.exe.?»

> You're just restating things as if everyone knows what you're talking
> about.

Because you didn't tell me what you didn't understand.  Apparently the
problem lies in the "windows pipe" expression, to which I forgot to add
"named".

Just to be (hopefully) clear, since you seem to want all the details:
there exist an accessibility protocol called brlapi that uses TCP/IP
or "local pipes" for having applications (not only cygwin, but also
windows native applications) cooperate.  TCP/IP is for inter-machine
communication, "local pipes" for faster intra-machine communications.
On Unix, local sockets are used.  On windows, windows named pipes are
used.  To the best of my knowledge, there is no "unixish" way in cygwin
to access these pipes, so we just used CreateNamedPipe().  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.

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

> Instead you just keep saying that it's hard to mix windows and cygwin
> things.  Well, duh.  Just don't use the Windows things.

I need to connect to windows named pipes.

> >> Unless there is good reason, the cygwin distribution really is
> >> supposed to be comprised of programs which use the linux API.
> >
> >But when talking about communicating with other applications, we need to
> >use windows interfaces when the linux API doesn't permit it, shouldn't
> >we?
> 
> 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.

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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]