* shared.cc (open_shared): Desperately try to get shared memory, only

when DEBUGGING enabled for now.
This commit is contained in:
Corinna Vinschen 2006-08-11 15:40:07 +00:00
parent fc43c1d925
commit e39a29e36b
2 changed files with 29 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2006-08-11 Corinna Vinschen <corinna@vinschen.de>
* shared.cc (open_shared): Desperately try to get shared memory, only
when DEBUGGING enabled for now.
2006-08-10 Christopher Faylor <cgf@timesys.com>
* pinfo.cc (_onreturn::~onreturn): Don't attempt to close a NULL

View File

@ -93,6 +93,30 @@ open_shared (const char *name, int n, HANDLE& shared_h, DWORD size,
{
shared_h = CreateFileMapping (INVALID_HANDLE_VALUE, psa, PAGE_READWRITE,
0, size, mapname);
#ifdef DEBUGGING
if (!shared_h && GetLastError () == NO_ERROR)
{
system_printf ("CreateFileMapping %s, %E. Retry Open", mapname);
shared_h = OpenFileMapping (access, FALSE, mapname);
if (!shared_h)
{
system_printf ("OpenFileMapping %s, %E. Retry Create "
"after sleep (check timing problem)", mapname);
Sleep (1000L);
shared_h = CreateFileMapping (INVALID_HANDLE_VALUE, psa,
PAGE_READWRITE, 0, size,
mapname);
if (!shared_h)
system_printf ("Retried CreateFileMapping %s, %E.",
mapname);
else
system_printf ("Retried CreateFileMapping %s succeeded!",
mapname);
}
else
system_printf ("OpenFileMapping %s succeeded!", mapname);
}
#endif
if (GetLastError () == ERROR_ALREADY_EXISTS)
m = SH_JUSTOPEN;
}