This is the mail archive of the email@example.com
mailing list for the Cygwin project. See the Cygwin
home page for more information.
Re: cygwin1.dll startup and GDB
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
> 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!!