Re: [PATCH] abort.3: Note that the glibc implementation is not async-signal-safe

Gabriel Ravier
2023-08-24T22:07:55Z

On 8/22/23 17:26, Tomáš Golembiovský via Libc-alpha wrote:
> Hi,
>
> gentle reminder that this has not received any attention yet.
I assume this is because there are currently efforts to make glibc's
implementation async-signal-safe - which would make this proposed note
quite quickly inaccurate (though the fact it has been
async-signal-unsafe until now still seems notable enough to be mentioned
here).
>
> Thanks,
>
> Tomas
>
> On Wed, Jul 26, 2023 at 01:55:27PM +0200, Tomáš Golembiovský wrote:
>> See https://sourceware.org/bugzilla/show_bug.cgi?id=26275
>>
>> Cc: Carlos O'Donell <carlos@redhat.com>
>> Cc: Glibc <libc-alpha@sourceware.org>
>> Signed-off-by: Tomáš Golembiovský <tgolembi@redhat.com>
>> ---
>> man3/abort.3 | 6 ++++++
>> man7/signal-safety.7 | 5 +++++
>> 2 files changed, 11 insertions(+)
>>
>> diff --git a/man3/abort.3 b/man3/abort.3
>> index 0b57e10ed..827d5c9db 100644
>> --- a/man3/abort.3
>> +++ b/man3/abort.3
>> @@ -85,6 +85,12 @@ terminates the process without flushing streams.
>> POSIX.1 permits either possible behavior, saying that
>> .BR abort ()
>> "may include an attempt to effect fclose() on all open streams".
>> +.SH BUGS
>> +The glibc implementation of
>> +.BR abort ()
>> +is not async-signal-safe,
>> +.\" FIXME . https://sourceware.org/bugzilla/show_bug.cgi?id=26275
>> +in violation of the requirements of POSIX.1.
>> .SH SEE ALSO
>> .BR gdb (1),
>> .BR sigaction (2),
>> diff --git a/man7/signal-safety.7 b/man7/signal-safety.7
>> index 3d6ddc7eb..431a22f89 100644
>> --- a/man7/signal-safety.7
>> +++ b/man7/signal-safety.7
>> @@ -335,6 +335,11 @@ The glibc implementation of
>> is not async-signal-safe because it uses
>> .BR pthread_mutex_lock (3)
>> internally.
>> +.IP \[bu]
>> +.\" FIXME . https://sourceware.org/bugzilla/show_bug.cgi?id=26275
>> +The glibc implementation of
>> +.BR abort (3)
>> +is not async-signal-safe.
>> .SH SEE ALSO
>> .BR sigaction (2),
>> .BR signal (7),
>> --
>> 2.41.0
>>