delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/05/07/09:33:21

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Date: Wed, 07 May 2003 09:33:26 -0400
From: Jason Tishler <jason AT tishler DOT net>
Subject: Re: cygipc (and PostgreSQL) XP problem resolved!
In-reply-to: <3EB84F52.3020608@ece.gatech.edu>
To: Charles Wilson <cwilson AT ece DOT gatech DOT edu>
Cc: cygwin AT cygwin DOT com
Mail-followup-to: Charles Wilson <cwilson AT ece DOT gatech DOT edu>, cygwin AT cygwin DOT com
Message-id: <20030507133326.GA1824@tishler.net>
MIME-version: 1.0
User-Agent: Mutt/1.4i
References: <20030506174725 DOT GE1652 AT tishler DOT net>
<3EB84F52 DOT 3020608 AT ece DOT gatech DOT edu>

--Boundary_(ID_3bLGOTLc+RFwzHsncFMMxg)
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Content-disposition: inline

Chuck,

On Tue, May 06, 2003 at 08:12:02PM -0400, Charles Wilson wrote:
> Jason Tishler wrote:
> >Are you willing to accept a cygipc patch to correct this problem?
> 
> Always.

See attached for the patch and associated ChangeLog entry.  IMO, I opted
for the least intrusive albeit somewhat ugly approach.  Is it
acceptable?  If not, can you suggest a better way to implement this
change?

Thanks,
Jason

-- 
PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers
Fingerprint: 7A73 1405 7F2B E669 C19D  8784 1AFD E4CC ECF4 8EF6

--Boundary_(ID_3bLGOTLc+RFwzHsncFMMxg)
Content-type: text/plain; charset=us-ascii; NAME=cygipc-xp.patch
Content-transfer-encoding: 7BIT
Content-disposition: attachment; filename=cygipc-xp.patch

diff -rup cygipc-1.13-2.orig/include/IpcNtLit.h cygipc-1.13-2/include/IpcNtLit.h
--- cygipc-1.13-2.orig/include/IpcNtLit.h	2002-11-12 14:14:07.000000000 -0500
+++ cygipc-1.13-2/include/IpcNtLit.h	2003-05-07 07:23:41.000000000 -0400
@@ -48,24 +48,33 @@
 /************************************************************************/
 #if defined OLDCYGIPC
 # define CYGWIN_IPCNT_PKGNAME		"cygipc_"
-# define CYGWIN_IPCNT_SEMCTL		"MultiSemCtl_"
-# define CYGWIN_IPCNT_SEMSEM		"MultiSemSem_"
-# define CYGWIN_IPCNT_SEMSHM		"MultiSemShm_"
-# define CYGWIN_IPCNT_SEMMSG		"MultiSemMsg_"
+# define CYGWIN_IPCNT_SEMCTL_BASE	"MultiSemCtl_"
+# define CYGWIN_IPCNT_SEMSEM_BASE	"MultiSemSem_"
+# define CYGWIN_IPCNT_SEMSHM_BASE	"MultiSemShm_"
+# define CYGWIN_IPCNT_SEMMSG_BASE	"MultiSemMsg_"
 # define CYGWIN_IPCNT_FILESEM		"/tmp/MultiFileSem"
 # define CYGWIN_IPCNT_FILESHM		"/tmp/MultiFileShm"
 # define CYGWIN_IPCNT_FILEMSG		"/tmp/MultiFileMsg"
 #else
 # define CYGWIN_IPCNT_PKGNAME		"cygipc2_"
-# define CYGWIN_IPCNT_SEMCTL		"MultiSemCtl2_"
-# define CYGWIN_IPCNT_SEMSEM		"MultiSemSem2_"
-# define CYGWIN_IPCNT_SEMSHM		"MultiSemShm2_"
-# define CYGWIN_IPCNT_SEMMSG		"MultiSemMsg2_"
+# define CYGWIN_IPCNT_SEMCTL_BASE	"MultiSemCtl2_"
+# define CYGWIN_IPCNT_SEMSEM_BASE	"MultiSemSem2_"
+# define CYGWIN_IPCNT_SEMSHM_BASE	"MultiSemShm2_"
+# define CYGWIN_IPCNT_SEMMSG_BASE	"MultiSemMsg2_"
 # define CYGWIN_IPCNT_FILESEM		"/tmp/MultiFileSem2"
 # define CYGWIN_IPCNT_FILESHM		"/tmp/MultiFileShm2"
 # define CYGWIN_IPCNT_FILEMSG		"/tmp/MultiFileMsg2"
 #endif
 
+#define NAMESPACE_PREFIX "Global\\"
+#define FULL_NAMESPACE_PATH(name) \
+	((LOBYTE(LOWORD(GetVersion())) >= 5 && \
+	HIBYTE(LOWORD(GetVersion())) >= 1) ? NAMESPACE_PREFIX name : name) \
+
+#define CYGWIN_IPCNT_SEMCTL	FULL_NAMESPACE_PATH(CYGWIN_IPCNT_SEMCTL_BASE)
+#define CYGWIN_IPCNT_SEMSEM	FULL_NAMESPACE_PATH(CYGWIN_IPCNT_SEMSEM_BASE)
+#define CYGWIN_IPCNT_SEMSHM	FULL_NAMESPACE_PATH(CYGWIN_IPCNT_SEMSHM_BASE)
+#define CYGWIN_IPCNT_SEMMSG	FULL_NAMESPACE_PATH(CYGWIN_IPCNT_SEMMSG_BASE)
 /************************************************************************/
 /* SEMAPHORE								*/
 /************************************************************************/

--Boundary_(ID_3bLGOTLc+RFwzHsncFMMxg)
Content-type: text/plain; charset=us-ascii; NAME=cygipc-xp.ChangeLog
Content-transfer-encoding: 7BIT
Content-disposition: attachment; filename=cygipc-xp.ChangeLog

2003-05-07  Jason Tishler  <jason AT tishler DOT net>

	* include/IpcNtLit.h (CYGWIN_IPCNT_SEMCTL_BASE): New define.
	(CYGWIN_IPCNT_SEMSEM_BASE): Ditto.
	(CYGWIN_IPCNT_SEMSHM_BASE): Ditto.
	(CYGWIN_IPCNT_SEMMSG_BASE): Ditto.
	(NAMESPACE_PREFIX): Ditto.
	(FULL_NAMESPACE_PATH): New macro.
	(CYGWIN_IPCNT_SEMCTL): Change to use FULL_NAMESPACE_PATH.
	(CYGWIN_IPCNT_SEMSEM): Ditto.
	(CYGWIN_IPCNT_SEMSHM): Ditto.
	(CYGWIN_IPCNT_SEMMSG): Ditto.


--Boundary_(ID_3bLGOTLc+RFwzHsncFMMxg)
Content-Type: text/plain; charset=us-ascii

--
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/
--Boundary_(ID_3bLGOTLc+RFwzHsncFMMxg)--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019