Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <3EB9A54B.8060500@ece.gatech.edu> Date: Wed, 07 May 2003 20:31:07 -0400 From: Charles Wilson User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4a) Gecko/20030401 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Jason Tishler CC: cygwin AT cygwin DOT com Subject: Re: cygipc (and PostgreSQL) XP problem resolved! References: <20030506174725 DOT GE1652 AT tishler DOT net> <3EB84F52 DOT 3020608 AT ece DOT gatech DOT edu> <20030507133326 DOT GA1824 AT tishler DOT net> In-Reply-To: <20030507133326.GA1824@tishler.net> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Jason Tishler wrote: > +#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) Wait, aren't #define macros resolved at compile time? This would then define these names as "foo" or "Global\\foo" depending on which machine the package was BUILT on. Worse, if the cygipc library itself were built on WinXP, but you build a client app on W98 -- then your code thinks "foo" but the daemon things "Global\\foo". Or vice versa. I think this needs to be a runtime function, not a compiletime macro. --Chuck -- 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/