]> sourceware.org Git - newlib-cygwin.git/commitdiff
* shared.cc (open_shared): Desperately try to get shared memory, only
authorCorinna Vinschen <corinna@vinschen.de>
Fri, 11 Aug 2006 15:40:07 +0000 (15:40 +0000)
committerCorinna Vinschen <corinna@vinschen.de>
Fri, 11 Aug 2006 15:40:07 +0000 (15:40 +0000)
when DEBUGGING enabled for now.

winsup/cygwin/ChangeLog
winsup/cygwin/shared.cc

index 8aed544f1882d3a7dfa8b487b96bc84ee58954d7..857f1e714834685b0b9e497f5bea0fc50ec17d0f 100644 (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
index 65965b58ba31f951a91f98a52aa66ea81c08d982..2524ecabca91e56039353639b9bfdfeae557accf 100644 (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;
        }
This page took 0.035015 seconds and 5 git commands to generate.