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: Interference between instances on MS-Windows


> -----Original Message-----
> From: cygwin-owner@cygwin.com 
> [mailto:cygwin-owner@cygwin.com] On Behalf Of Dave Korn
> Sent: Thursday, July 05, 2007 11:47 AM
> To: cygwin@cygwin.com
> Subject: RE: Interference between instances on MS-Windows
> 
> On 05 July 2007 16:16, Bob McConnell wrote:
> 
> >>   But unless you can http://cygwin.com/acronyms#PPAST, you're
> >> just holding up
> >> a black box and saying "There's magic stuff in here and it's
> >> broke, does
> >> anyone know why", to which the only answer is of course 
> "Depends what the
> >> magic stuff in the box is and does, about which we know
> >> nothing, because it's
> >> /your/ magic box and we've never seen it before".
> > 
> > The simple test case would be the entire program, since it 
> is less then
> > 600 lines of code. But you will also need an appropriate 
> server for it
> > to talk with, which I cannot provide.
> 
>   Then it's not really a simple test case.  To me, a "simple 
> testcase" would
> involve seeing if you could hack out all the actual serial 
> comms stuff,
> replacing the input with say reading data from an array and 
> replacing the
> output with dropping it on the floor, so that you stripped 
> down your app to
> the basics: two threads talking to each other using cvars and 
> mutexes to
> operate a message queue between them.
> 
>   In the course of stripping it down, you might well find the problem
> disappeared when you removed a certain area of code, which 
> would give you a
> big clue to where the problem was arising.  Sometimes, just 
> /attempting/ to
> make a testcase is enough of a debugging effort by itself.  
> If not, at least
> you have something that other people can just run and try to 
> reproduce and
> debug the problem.

All of the timing is based on the serial data being exchanged with the
host system. Without that interaction, there is nothing left to examine.
That was the core function of the base application, it was a dumb
terminal emulation written with threads.

> > In addition, the application was
> > built on code licensed under the GPL, and posting it on a 
> mailing list
> > would constitute distribution. But I cannot publish my 
> additions under
> > the GPL, so rather than violate that license, I need a specific
> > individual email destination that will not forward it to a publicly
> > available location. 
> 
>   You misunderstand the GPL.  You cannot forbid someone from 
> distributing the
> derived work under any circumstances.  You can ask them 
> nicely to voluntarily
> not distribute it, but the agreement would not in any way be 
> binding, and they
> would still have a legally-enforcable right to redistribute 
> it, regardless of
> any personal understanding you may have reached between 
> yourselves; gpl rights
> cannot be waived.

The requirement to place my additions under GPL only kicks in _IF_ I
distribute the combined work. As long as I keep it private, I can do
anything I want with it. Sending a copy of it to one support tech to
debug that vendor's library does not constitute distribution, AFAICT.
But posting it on a public mailing list does. I have helped several
vendors track down bugs in their code. In some extreme cases we have
required them to sign an NDA before we gave them sample code, but
normally they will honor our request to protect any secrets that code
may reveal. I hoped that the people in your group would also have some
honor.

I am bound here by company policy and the desire to keep my job.

Bob McConnell

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