[PATCH] Mark syslog as MT-unsafe (bug 26100)
Zack Weinberg
zackw@panix.com
Mon Jun 15 14:18:39 GMT 2020
On Mon, Jun 15, 2020 at 8:31 AM Andreas Schwab <schwab@linux-m68k.org> wrote:
> On Jun 15 2020, Florian Weimer wrote:
>
> > If it's not too hard, I think it would be a reasonable enhancement.
> > Lack of thread safety is surprising here, and I expect that a lot of
> > code assumes it.
>
> Its use of shared global state makes it inherently non-safe.
Messages to syslog need to be serialized over the whole process
_anyway_, so I don't see a problem with having
syslog/openlog/closelog/setlogmask take an internal mutex around the
shared global state. However, for further bulletproofing we would
need to promise that these functions never acquire any _other_ locks,
in particular that they do not call malloc, and I don't know whether
they do now.
If we're going to do this it should be clearly documented as a GNU
extension; POSIX does not guarantee this.
zw
More information about the Libc-alpha
mailing list