This is the mail archive of the cygwin-developers@sourceware.cygnus.com 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]

Re: running two independent Cygwin DLLs?


On Sun, Jun 27, 1999 at 09:58:15PM -0500, Mumit Khan wrote:
>I need to get a setup where I'm running two perhaps incompatible Cygwin
>DLLs, and wondering if that makes any sense at all. This is what I've
>done:
>  - have stock Cygwin dll etc running everything including remote access
>    (that's why I can't just replace the current one etc)
>  - modify the 2nd one (this is a new snapshot) to 
>    * have a different name, say cygwin1-test.dll, and regenerate the
>      import library accordingly, so that the newly linked apps will 
>      refer to this instead.
>    * change the shared address and name so that the new DLL won't
>      see the values for the stock one.
>
>Would this work, or am I fooling myself? I can see some potential
>pitfalls such as mount table issues, but is there something fatal
>waiting to happen?

It should work.  The only mount table issues that I can think of is
if you mount something using one DLL and expect it to show up instantly
in applications using the other DLL.

Note that you won't be able to pass signals between the two DLLs and so
a CTRL-C sent via a bash using one DLL will always terminate a process
running another DLL.

Actually, there may be one problem in an upcoming snapshot.  I've
modified the DLL to refuse to run if it detects that it is being used
via exec or fork from a different DLL.  This probably still won't cause
a problem in your above case as long as you are careful to always use
the right DLL/binary combination.

My only request is:  Please!   Don't even think of advising anyone
to do this at home.  It has great potential for problems and I really
don't want to see people attempting this on the cygwin mailing list.
My standard response to cygwin users has always been to keep only one
version of the DLL on the system.  That is always the safest way to
do things.

But, of course you already know that... :-)

Good Luck,
-chris

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