[libc-commits] [PATCH] D76676: [libc] Unblock SIGABRT before raising in abort

Fangrui Song via Phabricator via libc-commits libc-commits at lists.llvm.org
Fri Apr 3 10:15:14 PDT 2020


MaskRay added inline comments.


================
Comment at: libc/src/stdlib/abort.cpp:34
+  // interrupted by any async signals. The user handler will be run once we
+  // unblock if it was blocked previously.
+  sigset_t set;
----------------
abrachet wrote:
> MaskRay wrote:
> > Another thread may concurrently install a signal handler for SIGABRT or unblock SIGABRT. There needs to be a lock.
> Yes this was discussed, we need a recursive lock here but also in sigaction, we don't have those yet. I don't personally think the benefits are worth that complexity anyway though.
This suggests that the patches should be applied in a better way. If a mutex is implemented before improving abort, then we don't need to care about this.

I think a non-recursive mutex suffices here.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D76676/new/

https://reviews.llvm.org/D76676





More information about the libc-commits mailing list