delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/1999/04/27/22:28:18

Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm
Sender: cygwin-developers-owner AT sourceware DOT cygnus DOT com
Delivered-To: mailing list cygwin-developers AT sourceware DOT cygnus DOT com
From: fortinj AT ibm DOT net
Message-ID: <372672D8.7CFA4EF1@ibm.net>
Date: Tue, 27 Apr 1999 22:30:48 -0400
Reply-To: fortinj AT ibm DOT net
X-Sender: "" <@smtp-gw01.ny.us.ibm.net> (Unverified)
X-Mailer: Mozilla 4.5 [en]C-gatewaynet (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: DJ Delorie <dj AT delorie DOT com>
CC: cygwin-developers AT sourceware DOT cygnus DOT com
Subject: Re: cygwin1.dll startup and GDB
References: <37265A6E DOT 813F8ED8 AT ibm DOT net> <199904280131 DOT VAA28701 AT envy DOT delorie DOT com> <37266BBC DOT F8F24A3A AT ibm DOT net> <199904280206 DOT WAA05486 AT envy DOT delorie DOT com>


DJ Delorie wrote:
> 
> >       Either way, mapname will be NULL since NULL is being passed as the
> > first parameter to open_shared.
> 
> Not always.  When NULL is passed, we musn't call OpenFileMapping(),
> because it doesn't fail gracefully when passed NULL.
> 

Sorry, I meant in the specific case I had described later  where NULL
was passed.

> There are three cases this code handles:
> 
> * name==NULL - create a private shared memory area
> 
> * name!=NULL, area doesn't exist - create a public named area
> 
> * name!=NULL, area does exist - attach to existing public named area
> 
> > My understanding ( misunderstanding :) ) was that with OpenFileMapping()
> > a name for the shared memory was needed.  However, we are passing a NULL
> > pointer to it instead...
> 
> Not always.  Sometimes we pass a name.  When we pass a name, we try
> OpenFileMapping() to see if the area exists (was created by another
> process, for example).  If the area doesn't exist, we drop through and
> try creating it.  If we pass NULL, we will always be creating the area
> anyway, so skip the open and go right to the create.
> 

Again, I didn't mean the general case, i meant the specific indicated in
the code fragments.

> > Is OpenFileMappingA() different.  I only have a reference for
> > OpenFileMapping().
> 
> FooA() and FooW() are the ascii/wchar variants of Foo().  Windows
> macros normally hide them.

Thanks, I didn't know that!!

- Raw text -


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