PATCH: avoid system shared memory version mismatch detected by versioning shared memory name
Noel Burton-Krahn
noel@burton-krahn.com
Fri Feb 22 05:18:00 GMT 2008
The problem is there are several installable apps built on Cygwin,
like EAC, ClamAV, and one I just found which is a
Cygwin-on-a-thumbdrive. The problem is they can't all coexist because
they're distributed with different versions of the cygwin dlls.
Making them work with the current cygwin means hand-copying cygwin
dlls into application directories, and repeating that every time you
upgrade. People used to give Windows a hard time for DLL hell! I
don't see the benefit of forcing users to hand-maintain cygwin dlls
across multiple applications.
~Noel
On 2/21/08, Christopher Faylor
<cgf-use-the-mailinglist-please@cygwin.com> wrote:
> On Thu, Feb 21, 2008 at 05:01:20PM -0800, Noel Burton-Krahn wrote:
> >This is a patch to avoid the "system shared memory version mismatch
> >detected" problem when two applications use different versions of
> >Cygwin. My solution is to append the Cygwin version number to the
> >name of the shared memory segment, so only Cygwin with the same
> >version share a memory space.
> >
> >ChangeLog
> >2008-02-21 Noel Burton-Krahn <noel@burton-krahn.com>
> >
> > * shared.cc (shared_name): always add USER_VERSION_MAGIC to the
> > shared memory space name so multiple versions of Cygwin keep their
> > own shared memory space. No more "system shared memory version
> > mismatch detected" errors.
>
>
> Thanks for the patch but the whole reason for this detection and others
> in the DLL is to disallow multiple copies of cygwin1.dll from running at
> the same time. This isn't a bug, it's a feature. That's why we have
> the detection in the first place.
>
> As you can see from other checks in the dll, the shared memory region
> is just one of the things that are checked for. If you need to have
> two copies of the DLL for debugging then there are ways to do that.
> But, in general, it is not a good idea to use two versions of the DLL
> unless you really know what you are doing, so we are not going to
> be making it trivially possible for everyone to do that.
>
> cgf
>
More information about the Cygwin-patches
mailing list