On 2021-04-21 05:12, Jonathan Wakely wrote:

On 21/04/21 12:38 +0100, Jonathan Wakely wrote: On 20/04/21 22:12 -0700, Thomas Rodgers wrote: @@ -86,6 +88,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}
}

+    _GLIBCXX_ALWAYS_INLINE bool
+    _M_try_acquire() noexcept
+    {
+      for (;;)
+    {
+      auto __err = sem_trywait(&_M_semaphore);
+      if (__err && (errno == EINTR))
+        continue;
+      else if (__err && (errno == EAGAIN))
+        return false;
+      else if (__err)
+        std::terminate();
+      else
+        break;
+    }
+      return true;
+    }
+
_GLIBCXX_ALWAYS_INLINE void
_M_release(std::ptrdiff_t __update) noexcept
{
Please just commit this part to trunk and gcc-11, not the macro
renaming (as that's been fixed by Jakub already).

I think on trunk I'd prefer to do the attached. WDYT?

Looks good to me.

Reply via email to