Re[5]: [Gc] Re: pthread_cancel(3) confuses 'GC_suspend_all ()'

Ivan Maidanski ivmai at mail.ru
Fri Sep 18 04:29:39 PDT 2009


Hi!

Today I wrote:
> "Boehm, Hans" <hans.boehm at hp.com> wrote:
> > Thanks for the careful proofreading.  I applied these to my tree.
> > 
> > Unfortunately, I think they don't explain Ludo's results.  I'll need to do some testing/debugging before posting the next version.
> > 
> > Hans 
> 
> One more place (to make a bit better):
> 
> #   if defined(GC_ASSERTIONS) && \
>        (defined(LINUX) || defined(HPUX) /* and probably others ... */)
> 
> ->
> 
> #   if defined(GC_ASSERTIONS) && (defined(USE_COMPILER_TLS) \
>        || (defined(LINUX) && !defined(ARM32) \
>            && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) \
>        || defined(HPUX) /* and probably others ... */)

Also, in misc.c:

 #   if defined(GC_WIN32_THREADS) && !defined(GC_PTHREADS)
-      if (!GC_is_initialized) {
 #     ifndef MSWINCE
         BOOL (WINAPI *pfn) (LPCRITICAL_SECTION, DWORD) = NULL;
         HMODULE hK32 = GetModuleHandle(TEXT("kernel32.dll"));
@@ -541,7 +546,6 @@
         else
 #     endif /* !MSWINCE */
   	/* else */ InitializeCriticalSection (&GC_allocate_ml);
-      }
 #   endif /* GC_WIN32_THREADS */

Don't remove the braces {}.


PS. Sorry for previous 2 duplicate posts (this seems to be the problems in my mailing system).

Bye.


More information about the Gc mailing list