libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Libunwind-devel] Re: [patch] Allow for complete stack traces even when


From: Arun Sharma
Subject: [Libunwind-devel] Re: [patch] Allow for complete stack traces even when other threads iterfere.
Date: Mon, 21 Sep 2009 14:38:50 -0700



On Mon, Sep 21, 2009 at 1:52 PM, Paul Pluzhnikov <address@hidden> wrote:

-# ifdef HAVE_ATOMIC_OPS_H
+#elif defined(HAVE_ATOMIC_OPS_H) && !defined(CONFIG_CACHE_WAIT)
  if (AO_test_and_set (&cache->busy) == AO_TS_SET)
    return NULL;
-# else
+#else
  if (likely (caching == UNW_CACHE_GLOBAL))
    {
      Debug (16, "%s: acquiring lock\n", __FUNCTION__);
      lock_acquire (&cache->lock, *saved_maskp);
    }
-# endif
 #endif

The wait vs sleep behavior of the cache currently depends on HAVE_ATOMIC_OPS, which is more of an implementation detail and therefore shouldn't affect the behavior of the API. I don't mind having CONFIG_CACHE_WAIT=1 unconditionally (without a config option).

If you're a libunwind user and would like the "return NULL" behavior when there is contention on the cache, please speak up.

 -Arun

 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]