This is the mail archive of the cygwin-patches 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] |
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. Here's how I tested it: 1. save the attached patch cygwin-snapshot-20080219-1-versioned-shared-memory.patch 2. patch and build: wget http://cygwin.com/snapshots/cygwin-src-20080219.tar.bz2 tar jxf cygwin-src-20080219.tar.bz2 cd cygwin-snapshot-20080219-1 patch -p1 < ../cygwin-snapshot-20080219-1-versioned-shared-memory.patch ./configure make 3. replace cygwin1.dll with the new one # the compiled cygwin1.dll will not conflict with other cygwins at # other versions. You can copy it over the cygwin1.dll in one of your # conflicting applications # cp ./i686-pc-cygwin/winsup/cygwin/new-cygwin1.dll ./cygwin1.dll It worked for me. Let me know how it goes for you. By the way, there's another gotcha here. Cygwin keeps its mount points in the registry, so your mount.bat script will overwrite existing cygwin mount points. To clean up I had to run the cygwin setup again. ~Noel
Attachment:
cygwin-snapshot-20080219-1-versioned-shared-memory.patch
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |